我正在使用Ryan Bates的gem nested_form。我对用户的工作流程感到有点困惑。
我应该有一个“f.link_to_add”调用,它将为关联动态添加嵌套结构。这可以像宣传的那样工作,但我觉得用户首先点击“添加书籍”(如在常用的作者/书籍示例中)并在新书籍字段中输入那样很麻烦。
我希望最初显示一组空的Book字段,如果用户填写它们并单击Save,则会将其添加到作者。
我如何使用nested_form gem来实现这种情况?
THX
答案 0 :(得分:1)
我建议您查看build
。例如,您作者的new
操作可能包含以下内容:
@author = Author.new
@author.books.build
请注意,如果一位作者只能拥有一本书而不是多本书,那么你可以这样做:
@author = Author.new
@author.build_book
答案 1 :(得分:0)
我认为简短的回答是nested_form不适合这个特定的工作流程。
使用单独的表单为关联类更容易实现,您在控制器中查找父类(作者),并在Book表单中保留一个隐藏字段(在此示例中为:author_id)。
仅当您可以接受逐个添加图书时才有效。
当您真的想要显示一长串图书并让用户可以在保存之前添加/删除多个项目时,Nested_form更合适。