私は今日レールを学び始めましたが、これがどのように機能するかはよくわかりません:
私が会社を持っているとしましょう。その会社には多くの子会社があるかもしれません。
子会社は会社です。明らかな理由から、会社は独自の子会社になることはできません。
子会社は、会社の子会社でもある子会社を持つことはできません
したがって、子会社も子会社を持つことができるため、無制限にネストされます
以下についてもよくわからないのは、子会社が会社であるということです
class Company < ActiveRecord::Base
has_many :subsidiaries
end
class Subsidiary < ActiveRecord::Base
belongs_to :companies
end
ここに何かを入れるだけで、これはとても間違っていると確信しています
アップデート:
わかりましたので、次のように以下の手順に従いました。
class Company < ActiveRecord::Base
validates :name, presence: true
belongs_to :company
has_many :subsidiaries, foreign_key: 'company_id', class_name: 'Company'
end
私のテンプレートの1つで:
<% @companies.each do |company| %>
<li><%= link_to "#{company.name} #{company.subsidiaries.length > 0 ? "(#{company.subsidiaries.length} subsidiaries)" :"" }", company_path(@company, :id => company.id) %></td>
<% end %>
これは間違った表示です。子会社を持つものは子会社がないことを示し、子会社であるものは子会社があることを示します。つまり、基本的には親の現在、その「子」を示しています。
なぜこれが起こるのですか?