我想弄清楚如何为我页面上显示的每个表单分配一个唯一的ID,例如假设我的页面上有5个form_for,每个表单将具有相同的ID(这是一个表单)创建一个新对象)
<%= form_for @document || Document.new, :html => { multipart: true, class: 'upload_document' } do |f| %>
如果我正在编辑多个对象,那么我可以获取@document的id但我没有任何东西可以抓住
我知道我也可以使用命名空间,但是这只会生成相同的命名空间相同的ID。我可以增加命名空间的值吗?
请问最好的方法是什么
由于
答案 0 :(得分:2)
您可以使用Object#object_id
:
...返回obj的整数标识符。相同的数字将是 返回对给定对象的所有id调用,没有两个活动 对象将共享一个id 。
<% object = @document || Document.new %>
<%= form_for object, :html => { multipart: true, id: object.object_id.to_s } do |f| %>
这可能很难为每个object
声明自己的form_for
,我建议使用5个对象创建数组并迭代它。