Rails:多次使用 form_for (DOM id)
我想对同一页面中的同一模型多次使用 form_for 助手。但输入字段使用相同的 ID 属性(在 HTML 中),因此单击另一个表单中字段的标签将在第一个表单中选择相同的输入。
除了通过 :for => 手动设置所有属性之外,还有其他解决方案吗? "title_#{item.id}" 和 :id => “标题_#{item.id}”?
使用 Rails 3.0.9
I would like to use the form_for helper multiple times for the same model in the same page. But the input fields use the same ID attribute (in the HTML), so clicking on the label of a field in another form will select the same input in the first form.
Is there a solution besides settings all attributes manually via :for => "title_#{item.id}" and :id => "title_#{item.id}"?
Using Rails 3.0.9
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
:namespace =>; 'some_unique_prefix'
选项。与:index
相比,这不会更改name
属性中使用的值。也可以使用数组,例如,当您有嵌套表单或不同表单恰好有一些共同字段时:
:namespace => [@product.id, tag.id]
或:namespace => [:产品,@product.id]
You can use
:namespace => 'some_unique_prefix'
option. In contrast to:index
, this will not change the value used in thename
attribute.It's also possible to use an array, e.g. when you have nested forms or different forms that happen to have some fields in common:
:namespace => [@product.id, tag.id]
or:namespace => [:product, @product.id]
我自己找到了答案,可以将 :index 选项传递给 form_for。该字符串将用于 id 和属性:
将解析
注意它也会更改输入的名称。
I found the answer myself, one can pass a :index option to form_for. That string will be used in the id and for attributes:
will parse
Notice it'll change the name of the inputs as well.
我相信你可以添加这个参数:
I believe you can add this param: