如何在 Rails 4 中为多对多关联制作带有子表单的表单?
Posted
技术标签:
【中文标题】如何在 Rails 4 中为多对多关联制作带有子表单的表单?【英文标题】:How to make a form with a subform for many-to-many association in Rails 4? 【发布时间】:2014-02-18 22:05:06 【问题描述】:基本上我想做这样的事情:
仅在我的情况下,我希望 User
能够使用一个表单注册多个 Disciplines
。
制作表格的正确方法是什么,以便我可以让这个人点击checkboxes
他/她想参加什么样的学科?
【问题讨论】:
【参考方案1】:您可以考虑将 rails nested attributes 与 ryanb 的 nested form gem 结合使用。
来自文档:
嵌套属性允许您在关联记录上保存属性 通过父母。默认情况下,嵌套属性更新是关闭的 您可以使用 #accepts_nested_attributes_for 类启用它 方法。当您启用嵌套属性时,属性编写器是 在模型上定义。
在高层次上,您可以像这样定义您的类:
class Employee
has_many :orders
accepts_nested_attributes_for :orders
end
class Order
belongs_to :employee
end
【讨论】:
感谢您的提示,但给定的gem
仅适用于 rails 3以上是关于如何在 Rails 4 中为多对多关联制作带有子表单的表单?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Rails 中为多对多关系(和中间表)做一个选择字段?
Django admin - 如何在自定义管理表单中为多对多字段添加绿色加号