使用form_for Rails嵌套模型表单时为创建唯一ID

我有一个这个Railscast风格的嵌套模型表单http://railscasts.com/episodes/196-nested-model-form-revised?view=asciicast

我需要为每个标签分配一个唯一的ID。 目前,生成的每个字段都有一个唯一的ID和名称,由辅助方法给出,该方法为每个关联记录分配唯一的ID。 所以这是照顾的。 但是,此表单具有“fieldset”标记,但未分配ID。 我需要为每个字段集使用唯一的ID来进行jQuery操作。

具体来说,我该如何为“活动”记录生成每个字段集一个唯一的CSS标记ID? 以下是我的表单创建方式。 谢谢

_form.html.erb

     

_day_fields.html.erb部分

 

1 %>

_activity_fields.html.erb

 

1 %>

如果您正在使用ryanb nested_form gem:

请改用f.index 。 并确保您在部分中传递每个不同的form_builder。

例如,如果你这样做

 <%= main_form.fields_for :nested1_items do |nested1_form| %> <%= render partial 'main/nested1_fields', nested1_form: nested1_form %> <% end %> 

_nested1_fields

 

在这个问题中看到我的答案。

为什么不直接使用传入两个部分的f.object

 <% fieldset_id = "#{f.object.class.underscore}_#{f.object.id}" %> 
...

我有一个类似的问题,我用几秒钟的时间解决它,并把它传递给我需要的每一个地方。

例如:

控制器中

 def something # First idea @dynid = Time.now.to_i ... # Second idea: store it in the session session[:dynid] = Time.now.to_i ... end 

在你看来

 

session[:dynid}即使使用ajax呈现的代码仍然可以工作。

我希望这可以帮助你。