Я хотел бы «добавить» некоторый код метода модели через модуль, когда он включен. Я думаю, что я должен использовать alias_method_chain, но я не знаю, как его использовать, поскольку мой «метод с псевдонимом» является одним из тех методов, заканчивающихся на знак «=»:
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
Я получаю ошибку при определении функции. Как обойти это?