我是rails的新手,我遇到了一个我找不到解决方案的问题。
我希望有一个单页表单,可以生成两个不同的模型。那可能吗? 例如,当用户按下提交按钮时,某些输入将用于生成用户模型,其他输入将用于生成药房模型。
提前致谢
答案 0 :(得分:0)
您将使用form_for
并传入父对象。然后,当您到达另一个对象的字段时,可以使用fields_for
方法并传入另一个对象。然后在模型中,您可以执行以下操作:
def pharmacy_attributes=(attributes)
@pharmacy = Pharmacy.create(attributes)
self.pharmacy = @pharmacy
save
end
如果您使用的是rails 4,则必须允许控制器中的嵌套属性,并将accepts_nested_attributes_for :pharmacy
添加到用户模型中(如果这是您的关系设置方式)。
答案 1 :(得分:0)
查看以下代码气候博客文章:
http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/
特别感兴趣的是:" 3。提取表单对象"