作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Rails 应用程序,它显示一个名为模块的项目列表。我正在迭代这些,为每个包含 remote_form_for 调用的部分渲染一个部分。
这一切都有效,但 HTML 验证失败,因为我的表单文本字段都具有相同的 id。
表单(或其他)上是否有一个 :prefix 选项可以用来解决这个问题?
更新:
(一些代码)
//_module_form.html.erb
<% remote_form_for app_module do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= submit_tag 'Save' %>
<%end %>
//parent page
<% @thing.modules.each do |app_module| %>
<%= render :partial => "module_form", :locals => { :app_module => app_module } %>
<% end %>
最佳答案
添加 :index => object.id
创建表单时的选项哈希。这应该以 object_id_attribute
的形式生成 ID。不干扰 Controller 。
编辑
关于 :index
的文档是模棱两可的误导。 :index
确实对表单提交有影响。解决方案是指定 :id
每个字段的属性。这将改变 id
属性(property), 离开 name
安然无恙(这对提交很重要)。
这是我在生成这些字段的通用助手中使用的代码:
def create_field( f, field_type, object, field_name )
field_id = "#{object.class.name.downcase}_#{object.id.to_s}_#{field_name.to_s}"
f.send( field_type, field_name, :id => field_id )
end
关于ruby-on-rails - 同一页面上的多个 remote_form_for 导致重复 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2425690/
我是一名优秀的程序员,十分优秀!