Ruby on rails 是否在关联的模型B中提供模型A的实例方法?

Ruby on rails 是否在关联的模型B中提供模型A的实例方法?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,在允许向任意模型添加时间维度(如开始日期等)的gem上工作 实现ActsAsTimeable的模块: 我跳过了Timeable::Base的细节,但它有setter start_date=val和getter start_date,当然还有更多 问题: 由于使用委托方法,我可以执行以下操作: entity1 = Entity1.new (Model with acts_as_timeable added) entity1.start_date => Sat, 28 Jan 2012 但我

在允许向任意模型添加时间维度(如开始日期等)的gem上工作

实现ActsAsTimeable的模块:

我跳过了Timeable::Base的细节,但它有setter start_date=val和getter start_date,当然还有更多

问题:

由于使用委托方法,我可以执行以下操作:

entity1 = Entity1.new (Model with acts_as_timeable added)
entity1.start_date => Sat, 28 Jan 2012
但我做不到

entity1.start_date = Date.today
我在模块ClassMethods之前添加了以下代码段,以实现acts_as_timeable模块:

def start_date=(val)
  build_timeable_model(:timeable => self) unless timeable_model
  timeable_model.start_date=(val) if timeable_model
end
但这确实会导致ActiveRecord在尝试初始化Entity1.new时定义ActiveRecord::DangerousAttributeError:start\u date=

一,。这个问题的解决办法是什么

二,。有没有一种更优雅的方法可以使Timeable::Base中的所有公共方法在一个充当Timeable的模型中可用,而不必手动声明Timeable::actsasttimeable中的每个方法

def start_date=(val)
  build_timeable_model(:timeable => self) unless timeable_model
  timeable_model.start_date=(val) if timeable_model
end