我的模型具有属性html。当我尝试将alias_method_chain与setter html=一起使用时,我得到错误undefined method `name=' for class `Banner'
但我使用了带有另一个属性的alias_method_chain。
class Banner < ActiveRecord::Base
def file_with_metadata_handling=(uploaded_file)
# ...
end
def html_with_format_checking=(banner_html)
# ...
end
# works well
alias_method_chain :file=, :metadata_handling
# undefined method html=
alias_method_chain :html=, :format_checking
end
方法定义为
Banner.new.respond_to? :html=
=> true
Model定义属性的getters&setter。所以alias_method_chain并没有找到属性的setter。