Tôi rất vui khi sử dụng các thuộc tính ảo trên mô hình Rails nếu chúng là chuỗi, nhưng tôi cũng muốn sử dụng các loại thuộc tính khác, như ngày tháng hoặc boolean, để tôi có thể sử dụng các trình trợ giúp như date_select để đặt thuộc tính ảo.Tôi làm cách nào để bản ghi hoạt động xử lý các thuộc tính ảo như thuộc tính thực?
Có cách nào hay để làm việc này không?
Khi đứng, sử dụng một helper date_select trên một thuộc tính ảo tăng:
1 error(s) on assignment of multiparameter attributes
Trong khi nếu tôi muốn có một thuộc tính boolean tôi kết thúc với @v_attribute = "true"
, chứ không phải là @v_attr = true
.
Tôi tìm thấy một ví dụ ở đâu đó rằng dường như làm việc:
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
Nhưng tôi không thực sự biết lý do tại sao nó hoạt động, cho dù nó có bất kỳ tác dụng phụ, và nó có vẻ như một hack.