モジュールが含まれている場合、モジュールを介してモデルのメソッドにコードを「追加」したいと思います。alias_method_chain を使用する必要があると思いますが、「エイリアス メソッド」は「=」記号で終わるメソッドの 1 つであるため、使用方法がわかりません。
class MyModel < ActiveRecord::Base
def foo=(value)
... do stuff with value
end
end
したがって、これが私のモジュールの現在の外観です。
module MyModule
def self.included(base)
base.send(:include, InstanceMethods)
base.class_eval do
alias_method_chain 'foo=', :bar
end
end
module InstanceMethods
def foo=_with_bar(value) # ERROR HERE
... do more stuff with value
end
end
end
関数定義でエラーが発生します。これをどのように回避しますか?