【发布时间】:2009-06-18 04:31:45
【问题描述】:
我正在编写一个处理多个模型的表单。如何做到这一点的一些例子使用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>
标签助手似乎更有用,因为它可以做一些额外的事情,因为它知道它所标记的模型和属性,但我找不到任何支持它的东西。两者之间有实际区别吗?我什么时候应该使用一个助手而不是另一个?
【问题讨论】:
标签: ruby-on-rails