在我的 rails 应用程序中,我有两个模型, aClientPage和 a ContentSection,其中ClientPage has_many :content_sections. 我将nested_formgem 用于两个模型以使用相同的形式进行编辑。只要ClientPage至少有一个,它就可以正常工作ContentSection,但如果没有关联ClientSections,则 usingnested_form的link_to_add方法会抛出以下内容NoMethodError:
undefined method `values_at' for nil:NilClass
表格的结构如下:
<%= nested_form_for page, form_options do |f| %>
# ClientPage fields
# ClientSections
<%= f.link_to_add "Add new section", :content_sections %>
<% end %>
只要至少有一个ClientSection与页面相关联,就可以正常工作。一旦没有,就会抛出错误。删除link_to_add也会停止抛出错误。(实际上在 下还有第二个嵌套模型ContentSection,如果没有关联模型,也会出现同样的问题。)
不确定我缺少什么我相当明显的东西,但任何指针或建议将不胜感激。