2012-06-24 36 views
20

vì vậy tôi đang tập hợp một bộ sưu tập.Rails collection_select tùy chọn mặc định?

<%= collection_select :PriceRange, "7", PriceRange.where('value > 0'), :value, :name %> 

Tôi đang cố gắng chọn lựa mặc định là PriceRange với id là 7, điều này độc lập và không dựa vào bất kỳ cài đặt người dùng nào, phần của biểu mẫu thay đổi các mục được hiển thị trên trang theo phạm vi giá của họ.

* * * UPDATED EFFORTS * * * 

tôi thêm

@price_higher = PriceRange.find(7) 

để Controller để xử lý xem, và thêm

, {:selected => @price_higher.value} 

bên trong collection_select. Nó dường như làm các trick, mặc dù đã được tìm kiếm một cách ít phức tạp hơn để làm tất cả bên trong collection_select.

Trả lời

33

Thêm tùy chọn :selected.

Ví dụ:

collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => "whatever_value"}) 

Ví dụ lấy từ: ApiDock

Trong trường hợp của bạn:

<%= collection_select :PriceRange, "7", PriceRange.where('value > 0'), :value, :name, {:selected => "whatever"} %> 
+0

lý do tôi đang tránh đó là giá trị có thể thay đổi xuống đường, và Tôi đang cố gắng giới hạn mã bổ sung cần được cập nhật trong tương lai, tôi cũng phải tránh cái gì đó phá vỡ nếu mục đó bị thay đổi trong cơ sở dữ liệu và không được cập nhật trên chế độ xem. – mediarts

+2

vì vậy ... Tôi tin rằng bạn muốn giải thích chi tiết hơn những gì bạn muốn ... – Nobita

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