会社に子会社を追加しようとしています。SO 私は会社に行き、リストから 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」を設定する必要があります