私のプロジェクトにacts_as_locatable
という名前の宝石を入れて、その中にActsAsLocatable::Location
クラスが定義されているとします。私はこのように、関連付けを追加するだけで宝石でクラスを編集することによって達成することができる、このクラスにポリモーフィック:subject
関連付けを追加したい:Ruby on RailsのGemから既存のモデルにポリモーフィックな関連付けを追加するにはどうすればいいですか?
module ActsAsLocatable
class Location < ::ApplicationRecord
belongs_to :subject, polymorphic: true
...
end
end
しかし、私はしませんので、これは悪い考えですこの宝石の更新ごとにこの変更を維持しなければならない。宝石をフォークしてフォークを改造することも、同じ問題を抱えています。
このクラスを拡張、飾り付け、または増やして、多形性のある:subject
の関連付けを追加するにはどうすればいいですか?宝石の残りの機能をそのまま残しながら、モデルファイルを編集しないでください。