In einer Rails 3.2 App definiere ich den Seitentitel mit <% title "Title Text" %>
.Warum wird die eckige Klammernsyntax von Heroku gerendert, aber in der Entwicklung interpretiert?
Dies ist auf die <title>
Tag übergeben, wie folgt:
<head>
<title>AppName | <%= yield (:title) || "Default Title" %></title>
</head>
und wie folgt erteilt: Methode
<h1><%= yield(:title) %></h1>
durch den folgenden Helfer:
def title(page_title, show_title = true)
content_for(:title) { h(page_title.to_s) }
@show_title = show_title
end
def show_title?
@show_title
end
Dies funktioniert wie erwartet in der Entwicklung, und arbeitet in den meisten Fällen in der Produktion auf Heroku.
An einigen Stellen habe ich komplexere Titel, z. <% title ["Edit ",(@model.name)] %>
.
Dies funktioniert wie erwartet in der Entwicklung und zeigt Edit Foo Bar
.
Aber auf Heroku wird dies als ["Edit ", "Foo Bar"]
gerendert.
Warum wird die Syntax auf Heroku gerendert? Ich habe das Gefühl, dass dies mit der Verwendung von eckigen Klammern zur Definition eines Arrays zusammenhängen könnte, aber nachdem ich die Heroku-Dokumente und Google durchsucht habe, habe ich keine Informationen darüber gefunden.
Vielen Dank für Anregungen.
hallo Futter, vielen Dank für Ihren Vorschlag. Ich hatte darüber nachgedacht, aber ich verwende 1.9.2 sowohl in der Produktion als auch in der Entwicklung. Ich habe es versucht, aber leider hat es nicht funktioniert. Ich stoße auf ähnliche Probleme woanders, zB, <% = f.select (: option_column, [['Erste Option', 1], ['Zweite Option', 2], ['Dritte Option', 3]])%> 'erzeugt auch Fehler. Irgendeine Idee, was diese verursachen könnte? –
@AndyHarvey: Was bedeutet "nicht funktioniert"? Wenn Sie dasselbe sehen, dann haben Sie entweder die Änderung nicht korrekt durchgeführt oder Sie beschreiben nicht, was Sie genau machen, weil diese Methode '' ["Edit", "Foo Bar"] '' nicht ausgibt, wenn Sie übergeben Sie es das Array '[" Edit "," Foo Bar "]', – Chuck
danke für die Hilfe bei der Arbeit durch diese. Ich habe deinen Helfer kopiert und in application_helper.rb eingefügt. Die Änderungen wurden definitiv gepusht, zusammen mit mehreren nachfolgenden Pushs. Soweit ich weiß, beschreiben meine Fragen alle Elemente meiner App, die sich auf dieses Problem beziehen. Die bereitgestellte App rendert immer noch '[" Edit "," Foo Bar "]' '. Ich schätze Ihre Hilfe, um dies zu debuggen, da ich nicht sicher bin, wo ich anfangen soll. Danke, –