1

私のモデルには属性 html があります。setter html= で alias_method_chain を使用しようとすると、エラーが発生しますundefined method `name=' for class `Banner' But I use alias_method_chain with another attribute.

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 
4

1 に答える 1

0

モデルは、属性のゲッターとセッターを動的に定義します。そのため、alias_method_chain は属性のセッターを見つけられませんでした。

于 2015-01-22T11:31:34.447 に答える