関連する日付フィールドがいくつかあるモデルがあります。
def started_at_date=(value)
@started_at_date = value
end
def completed_at_date=(value)
@completed_at_date = value
end
...
ゲッターは経由method_missing
で処理され、それはうまく機能します。
def method_missing(method, *args, &block)
if method =~ /^local_(.+)$/
local_time_for_event($1)
elsif method =~ /^((.+)_at)_date$/
self.send :date, $1
elsif method =~ /^((.+)_at)_time$/
self.send :time, $1
else
super
end
end
def date(type)
return self.instance_variable_get("@#{type.to_s}_date") if self.instance_variable_get("@#{type.to_s}_date")
if self.send type.to_sym
self.send(type.to_sym).in_time_zone(eventable.time_zone).to_date.to_s
end
end
...
セッターを動的に追加したいのですが、ActiveRecord::UnknownAttributeError
sを回避する方法がわかりません。