ruby-on-rails – FormHelper :: label和FormTagHelper :: label
发布时间:2020-12-16 19:15:10 所属栏目:百科 来源:网络整理
导读:我正在写一个处理多个模型的表单.一些如何做到这一点的例子使用 ActionView::Helpers::FormHelper::label,有些使用 ActionView::Helpers::FormTagHelper::label_tag,我真的不明白其中的区别. 在我的特定情况下,两者似乎都会产生相同的输出: % form_for :pos
我正在写一个处理多个模型的表单.一些如何做到这一点的例子使用
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> 标签帮助器似乎更有用,因为它可能会有一些额外的东西,因为它知道它标记的模型和属性,但我找不到任何支持它的东西.这两者之间有实际区别吗?我什么时候应该使用一个助手而不是另一个? 解决方法
Rails提供了两种类型的表单助手:专门用于模型属性的表单助手和不用于模型属性的表单助手. * _tag帮助程序用于创建不依赖于分配给模板的Active Record对象的表单标记.
虽然您所显示的标签元素的生成标记没有区别,但在您的情况下,您应该使用标签表单帮助程序与您对其他表单帮助程序的使用一致,并且因为它会自动将for属性设置为正确相关文本字段元素的ID. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |