5
我很高兴在Rails模型上使用虚拟属性,如果它们是字符串的话,但我还想使用其他类型的属性,比如日期或布尔值,以便我可以使用像date_select这样的助手来设置虚拟属性。我如何使用真实属性来处理虚拟属性?
有没有这样做的好方法?
目前的情况是,使用一个虚拟属性的date_select助手提出:
1 error(s) on assignment of multiparameter attributes
而如果我想要一个布尔属性,我结束了@v_attribute = "true"
,而不是@v_attr = true
。
我在什么地方找到一个例子似乎工作:
class MyModel
#virtual attribute
attr_accessor :v_date_field
attr_accessible :v_date_field
columns_hash["virtual_date_field"] = ActiveRecord::ConnectionAdapters::Column.new("vi_date_field", nil, "date")
end
但我真的不知道为什么它的工作原理,它是否有任何副作用,这似乎是一个黑客。