在我們的應用中,我們顯示,像這樣投入的一部分:Rails的label_tag做幫手只呈現內容
<%= f.label :date, class: 'field' do %>
<span>Date</span>
<%= f.text_field :date %>
<% end %>
這被重複很多時候,所以我決定把它放在一個幫手裏面像這樣:
def text_field_for(attribute, title, form, value = nil)
form.label attribute, class: 'field' do
content_tag(:span, title)
form.text_field attribute, value: value
end
end
但是這撕心裂肺的HTML如下:
<label class="field" for="my_object_date">
<input type="text" name="my_object[date]" id="my_object_date" />
</label>
爲什麼它不渲染span標籤?當我註釋掉text_field時,它正確地呈現了跨度。不知何故,它不能同時渲染它們。