私は会社のコンセプトに沿ってスキーマを構築しようとしています。自己参照has_manyとbelongs_toの関係
企業は、親会社(すなわち、大企業)を持つことができます。会社には複数の子会社もあることがあります。しかし、会社は独立型でも、子会社も親会社も持たない場合もあります。私はActiveRecordでこれをモデル化する方法を頭の中でラップするのに問題があります。
class Company < ActiveRecord::Base
validates_uniqueness_of :company_id
has_many :products
has_many :subsidiaries, :class_name => "Company", optional: true
belongs_to :parent_company, :class_name => "Company", optional: true
end
理想的には、私はそれがnilであれば、company.subsidiaries
をチェックできるようにしたいと思い、私はその会社は、子会社を持っていないことを知っている:ここでは、私が持っているものです。
この関係を構築する正しい方法を理解する助けがあれば、大変感謝しています。
いや、私はそれを使用することができると思います。私はドキュメントを読んできましたが、これは良い解決策だと思われますが、追加の宝石を使用しない単純なソリューションがあるかどうかは疑問です。当分の間、私はあなたの提案を探求し続けるつもりです。 –
私はこれをやったと思ったようにクイック検索をしましたが、その私の古い記憶!これが何か助けを与えるなら、私はacts_as_tree宝石を使いました。 –
Andrew Lankによると、Railsのコアであったが、緊縮の動きの一環として宝石に移されたacts_as_treeもあります。バージョンロックされた宝石を使うことは安全な賭けです。 – tadman