🖇️
[Rails]ActiveInteractionの引数としてActiveRecord_Relationを指定する
概要
ActiveInteraction / GitHub の引数として、ActiveRecord_Relationを渡せるようにする方法を示します。
やり方
例: Order
クラスの場合
Order の array として指定します。
class UpdateOrders < ActiveInteraction::Base
array :orders do
object class: Order
end
end
こうすることで、 Order::ActiveRecord_Relation
も Order
の Array
受け付けます。
ActiveRecord_Relation
のみを指定することはできないですが、大体のケースでこれで問題ないと思います。
どうしても厳密に ActiveRecord_Relation
のみを指定したい場合、バリデーションで弾くか、インタラクション内で再取得するなどの方法があります。
うまくいかない例
Order::ActiveRecord_Relation を指定するのだと、エラーになる。
class UpdateOrders < ActiveInteraction::Base
object :orders, class: Order::ActiveRecord_Relation
end
Discussion