Sto scrivendo un modulo che si occupa di più modelli. Alcuni esempi di come utilizzare questo metodo sono ActionView::Helpers::FormHelper::label e alcuni usano ActionView::Helpers::FormTagHelper::label_tag e non capisco davvero la differenza.Qual è la differenza tra FormHelper :: label e FormTagHelper :: label_tag?
Nel mio caso particolare, entrambi sembrano comportare la stessa uscita:
<% 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>
...
Renders:
<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>
L'aiutante Etichetta sembrerebbe essere più utile, perché probabilmente ci sono alcuni extra le cose che può fare perché conosce il modello e la proprietà che sta etichettando, ma non riesco a trovare nulla a sostegno di ciò. C'è una differenza pratica tra i due? Quando dovrei usare un helper invece dell'altro?