2009-08-09 30 views
11

Trong chế độ xem mà tôi có, tôi đang sử dụng fields_for để hiển thị dữ liệu biểu mẫu cho bảng quan hệ. Tuy nhiên, một phần của biểu mẫu này sẽ có các danh sách lựa chọn để chọn. Tôi thấy có các nhãn, text_field, text_area helpers cho form_for và fields_for helpers sẽ điền vào thông tin cần thiết từ một đối tượng mô hình đã được phổ biến ... nhưng những gì về một helper list list sẽ làm như vậy?đường ray: fields_for chọn

Điều này đặc biệt hữu ích khi tôi có mối quan hệ một-nhiều từ các trường_để lặp qua từng mục đã có trong đối tượng mô hình và hiển thị nó với chỉ mục.

Có điều gì như thế này tồn tại không?

Trả lời

28

Có một số phương pháp trợ giúp lựa chọn mà bạn có thể sử dụng. Phổ biến nhất là collection_select. Điều này là tuyệt vời nếu bạn có một hiệp hội belongs_to trên mô hình và bạn muốn sử dụng một menu chọn để thiết lập điều này.

<%= f.collection_select :category_id, Category.all, :id, :name %> 

Đối với các trường hợp khác, phương pháp chung chung hơn là select. Ở đây bạn có thể cung cấp một loạt các tùy chọn mà bạn muốn cung cấp.

<%= f.select :priority, [["Low", 1], ["Medium", 2], ["High", 3]] %> 

Giá trị đầu tiên trong mỗi phần tử mảng là tên của tùy chọn chọn, giá trị thứ hai là giá trị sẽ được gán cho thuộc tính.

Có nhiều menu chọn khác (cho ngày và giờ) nhưng hai menu trên phải bao gồm hầu hết các trường hợp. Các phương pháp này hoạt động trên cả hai số form_for hoặc fields_for.

2

Bạn đang tìm kiếm select hoặc collection_select. Cả hai có thể được sử dụng trong form_for hoặc fields_for khối. Có các ví dụ về cách sử dụng chúng trong form_for trong tài liệu

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