如何在控制器中保存关联?

时间:2014-08-07 02:30:54

标签: ruby-on-rails ruby ruby-on-rails-3

尝试完成从控制器创建关联,但我无法理解。为什么这不起作用?

@document.components = @components.first if @document.automatic_component_selection?

2 个答案:

答案 0 :(得分:2)

根据您的评论,您有两个选择:

  • @document.components << @components.first if @document.automatic_component_selection?
  • @document.components.create!(@components.first) if @document.automatic_component_selection?

您使用@document.components = @components.first执行的操作会使集合仅包含提供的对象,方法是添加和删除。

参考:Rails Guides Active Record Association s

答案 1 :(得分:1)

我相信您正在尝试将@components.first添加到该Document对象的相关组件中。在这种情况下,你可以写

@document.components << @components.first if @document.automatic_component_selection?