我有两个类个人和个人,其中个人代表一个真实的人,个人代表特定环境中的一个真实的人。我使用属性设置器、获取器和脏测试(在需要时)的委托,例如:
class Person < ActiveRecord::Base
...
belongs_to :individual
delegate :firstname, :lastname, ..., :firstname=, ..., :to => :individual
...
end
class Individual < ActiveRecord::Base
has_many :persons, :dependent => :destroy
...
end
一切正常,除了我的表单(我使用 Formtastic)将所有委托属性视为字符串。我可以通过在表单中添加属性类型信息来解决这个问题,例如
<%= f.input :has_car, :as => :boolean %>
但这不是很优雅。但我无法弄清楚如何或是否可以委托属性类型信息