我正在为一家公司添加一个子公司。所以我会去公司,然后从列表中选择 1 个或多个子公司并保存。因此,我不是将公司保存到子公司(如下所示),而是将子公司添加到公司,
那么下面的这个例子对我来说毫无意义!我的意思是如何将子公司保存到公司?
class Company < ActiveRecord::Base
validates :name, presence: true
has_many :subsidiaries, :class_name => "Company", :foreign_key => "parent_company_id"
belongs_to :parent_company, :class_name => "Company",
end
您能否告诉我保存在我的控制器中的外观,因为我确定这是我出错的地方。
目前我的问题是我保存我保存应该是附属的方式作为parent_id,所以基本上它是相反的:
在这里,我从列表中选择一个子公司:
<%= f.collection_select(:parent_company_id, @companies, :id, :name, :include_blank => true, :multiple => true) %>
只是为了清楚目前发生了什么:
- 我开公司A
- 我选择B公司作为子公司并保存
- 我查看公司,发现 B 有一个子公司 A(错误!!),这是有道理的,因为它的 parent_id 设置为 A,但实际上我需要设置它的“subsidiary_id”