前提・実現したいこと
Rails5 の ActiveModel::Serializer で key は同じで中身を出しわけたい。
object.type によって、animals の中身を dog または cat と返却値に合わせて変更したい。
発生している問題・エラーメッセージ
しかし、現状以下のコードにおいて、
dogcond? が true で catcond? が false の場合はうまくいくが、
その逆はうまくいない。
尚、dogcond? と catcond? は同時に true にはならない。
どのようにコードを変更すればよいでしょうか。
該当のソースコード
ruby
1# animal_serializer.rb 2 3def dogcond? 4 object.type == 'dog' 5end 6 7def catcond? 8 object.type == 'cat' 9end 10 11has_many :dogs, serizliser: DogSerializer, key :animals, if: dogcond? 12has_many :cats, serizliser: CatSerializer, key :animals, if: catcond?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。