1

他の関連付け関係に依存するRailsモデルの関連スコープを定義する方法が混乱します。モデルに他の関連で子がない場合にのみ、レール結合を定義する

例:私は会社が任意の従業員を持っていない場合にのみ、会社に労働者を追加できるようにするにはどうすればよい

class Company 
    has_many :workers 
    has_many :employees 
end 

?少なくとも1人の従業員がいる場合は、会社に従業員を追加することは拒否されるべきであり、その会社に属する従業員が少なくとも1人いる会社を検索するときに、JSON応答で表示される従業員関連はありません。

アイデア?あなたの助けは非常に高く評価されます。ありがとう!

答えて

1

あなたの関連付けを拡張するためにブロックを使用することができます。

has_many :workers do 
    def << (value) 
     super value unless ... 
    end  
    end 
ここ

さらに詳しい情報:http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many#461-User-a-block-to-extend-your-associations

して表示するか、オブジェクトをシリアル化するとき、あなたのようto_jsonをメソッドのオプションを使用することができません。

@company.to_json(only: [:workers]) 

希望します。

関連する問題