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
但我真的不知道爲什麼它的工作原理,它是否有任何副作用,這似乎是一個黑客。