Ich versuche, Inhalts-Tags in einen benutzerdefinierten Helfer zu verschachteln, um Folgendes zu erstellen:
<div class="field">
<label>A Label</label>
<input class="medium new_value" size="20" type="text" name="value_name" />
</div>
Beachten Sie, dass die Eingabe keinem Formular zugeordnet ist, sondern über Javascript gespeichert wird.
Hier ist der Helfer (er kann mehr als nur das HTML anzeigen):
module InputHelper
def editable_input(label,name)
content_tag :div, :class => "field" do
content_tag :label,label
text_field_tag name,'', :class => 'medium new_value'
end
end
end
<%= editable_input 'Year Founded', 'companyStartDate' %>
Die Beschriftung wird jedoch nicht angezeigt, wenn ich den Helfer anrufe, sondern nur die Eingabe. Wenn der text_field_tag auskommentiert wird, wird die Beschriftung angezeigt.
Vielen Dank!
ruby-on-rails
ruby-on-rails-3
helpers
christo16
quelle
quelle
concat
wie die anderen Antworten vermuten lassenSie können auch die concat- Methode verwenden:
Quelle: Verschachteln von content_tag in Rails 3
quelle
+
zwischen nicht-htmlsafe-Zeichenfolgen macht alles nicht-htmlsafe@template.concat
+
. Besser lesbar und Rubocop mag nicht+
Ich benutze eine Variable und Concat, um bei der tieferen Verschachtelung zu helfen.
quelle
Das Erstellen verschachtelter Inhalts-Tags mit Iteration ist etwas anders und bringt mich jedes Mal dazu ... hier ist eine Methode:
quelle