0

会社に子会社を追加しようとしています。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) %>

現在何が起こっているかを明確にするために:

  1. 私は会社Aを開きます
  2. B社を子会社に選んで保存
  3. 私は会社を見て、Bには子会社Aがあり(間違っています!!)、そのparent_idがAに設定されているので理にかなっていますが、実際には「subsidiary_id」を設定する必要があります
4

1 に答える 1