Я достаточно счастлив, используя виртуальные атрибуты в моделях Rails, если они являются строками, но я также хотел бы использовать другие типы атрибутов, такие как даты или логические значения, чтобы я мог использовать помощники, такие как date_select, для установки виртуальных атрибутов. 1001 *
Есть хороший способ сделать это?
В нынешнем виде использование помощника 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
Но я действительно не знаю, почему это работает, есть ли у него какие-либо побочные эффекты, и это похоже на взлом.