2010-09-09 34 views
5

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.

Trả lời

Các vấn đề liên quan