Я пишу форму, которая имеет дело с несколькими моделями. Некоторые примеры того, как это сделать, используют ActionView :: Helpers :: FormHelper :: label , а некоторые используют ActionView :: Helpers :: FormTagHelper :: label_tag , а я нет действительно понимаю разницу.
В моем конкретном случае оба результата приводят к одному и тому же результату:
<% form_for :post, :url => { :action => 'create' } do %>
<p>
<%= label_tag 'post_type' %><br />
<%= text_field :post, :post_type %>
</p>
<p>
<%= label :post, :parent_post_id %><br />
<%= text_field :post, :parent_post_id %>
</p>
...
Визуализирует:
<p>
<label for="post_type">Post type</label><br />
<input id="post_post_type" name="post[post_type]" size="30" type="text" />
</p>
<p>
<label for="post_parent_post_id">Parent post</label><br />
<input id="post_parent_post_id" name="post[parent_post_id]" size="30" type="text" />
</p>
Помощник по меткам может показаться более полезным, потому что, вероятно, есть некоторые дополнительные вещи, которые он может сделать, потому что он знает модель и свойство, которое он помечает, но я не могу найти ничего, что могло бы это подтвердить. Есть ли практическая разница между ними? Когда мне следует использовать одного помощника вместо другого?