0

#fallbackable_header_script, #fallbackable_header_content...したがって、次のようなARモデルがあり、すでに書いたように、などのいくつかのインスタンスメソッドを動的に生成したいと考えて#fallbackable_backgroundいます。これを行う最善の方法は何ですか?

class Course < ActiveRecord::Base
  FALLBACKABLE_ATTRIBUTES = :header_script, :header_content, :footer_content
  OTHER_FALLBACKABLE_ATTRIBUTES = :css_config

  def fallbackable_background
    read_attribute(:background) ? background : self.user.background
  end

end

def_method を試してみましたが、以下がうまくいきません...

  [:foo, :bar].each do |meth|
    fallbackable_meth = "fallbackable_#{meth}".to_sym
    def_method(fallbackable_meth) { read_attribute(meth) ? read_attribute(meth) : self.user.send(meth) }
  end
  #=>NoMethodError: undefined method `def_method' for #<Class:0x007fe4e709a208>
4

1 に答える 1