2012-06-11 35 views
16

Tôi có một lĩnh vực chọn và tôi muốn đặt một thuộc tính tùy chỉnh vào nó gọi tên, tôi đã cố gắng để làm điều đó như thế:Rails Simple Mẫu hiệp hội tùy chọn lĩnh vực

<%= f.association :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>  

Nó hoạt động và tạo ra các thuộc tính thêm nhưng có một vấn đề, thuộc tính giá trị select được thay đổi thành thuộc tính name model, trong trường hợp này là l.name. Tôi đã thay đổi địa điểm và đặt l.id trước nhưng thuộc tính id được hiển thị, chúng được sao chép, bất kỳ ý tưởng nào tại sao điều đó xảy ra?

Có cách nào khác để xác định thuộc tính tùy chỉnh tại các trường liên kết không?

Trả lời

24

Sử dụng trình trợ giúp biểu mẫu Rails select(), được bao bọc bởi đầu vào SimpleForm.

<%= f.input :in_charge do %> 
    <%= f.select :county_id, User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %> 
<% end %> 

Mã của bạn không hoạt động như mong đợi bởi vì, dưới mui xe, SimpleForm gọi collection_select() mà không hỗ trợ thuộc tính bổ sung trong các thẻ tùy chọn.

Readme SimpleForm cũng có số solution. Nhưng tôi đã không nhận thấy điều đó cho đến khi tôi tự giải quyết vấn đề :)

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