Rails 4で単一テーブルの継承とhstoreをいじっていますが、親でメソッドを呼び出そうとするとエラーが発生します。
# models/item.rb
class Item < ActiveRecord::Base
def getter_setter_for(key)
define_method(key) do
properties && properties[key]
end
define_method("#{key}=") do |value|
self.properties = (properties || {}).merge(key => value)
end
end
end
# models/disk_item.rb
class DiskItem < Item
%w[filename path].each do |key|
getter_setter_for(key) ## <== error calling this method
end
end
エラー:
Exception encountered: #<NoMethodError: undefined method `getter_setter_for' for #<Class:0x007f8c739a5ae0>>
私が見落とした明らかなことは何ですか?