J'écris un formulaire qui traite de plusieurs modèles. Quelques exemples de comment faire cela utilisent ActionView::Helpers::FormHelper::label, et certains utilisent ActionView::Helpers::FormTagHelper::label_tag, et je ne comprends pas vraiment la différence.Quelle est la différence entre FormHelper :: label et FormTagHelper :: label_tag?
Dans mon cas particulier, les deux semblent entraîner la même sortie:
<% 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'aide de l'étiquette semble être plus utile, parce que sans doute il y a quelques extra Ce qu'il peut faire, c'est qu'il connaît le modèle et la propriété, mais je ne trouve rien pour l'étayer. Y a-t-il une différence pratique entre les deux? Quand devrais-je utiliser une aide au lieu de l'autre?