2014-06-18 15 views
7

Vì vậy, tôi đang cố gắng đặt nút radio đầu tiên được chọn theo mặc định cho biểu mẫu. Tôi không thể tìm ra cách để làm điều đó. Tôi có thể nhận được tất cả các yếu tố đầu vào có checked="checked" bằng cách thêm kiểm tra: kiểm tra đúng hay: 'kiểm tra' trong các tùy chọn html, như trong những điều sau đây:Làm cách nào để đặt tùy chọn đã chọn mặc định với Rails collection_radio_buttons?

<%= f.collection_radio_buttons :category_id, @categories, :id, :name, {}, { checked: true } %> 
<%= f.collection_radio_buttons :category_id, @categories, :id, :name, {}, { checked: 'checked' } %> 

tôi đã cố gắng xác định kiểm tra: @category.first, như trong như sau:

<%= f.collection_radio_buttons :category_id, @categories, :id, :name, {}, { checked: @category.first } %> 

Nhưng điều đó cũng không có tác dụng. Không có đầu vào nào được chọn.

Bất kỳ ý tưởng nào?

Trả lời

12

Tôi nghĩ rằng bạn nên đánh dấu id để được kiểm tra, do đó thay đổi để { checked: @category.first.id }

+1

này là đúng. Bạn có thể xem tài liệu để tham khảo thêm và sử dụng mẫu: http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons –

+6

Đã hoạt động! Mặc dù, tôi đã phải đặt trong băm tùy chọn, và không phải là hash html_options (mà là nơi tôi đã có nó trước). – AdamB

+0

Cảm ơn - đã đấu tranh với điều này trong một thời gian. – skwidbreth

0

Đối với tôi công trình bằng văn bản rằng trong các ngành đầu tiên {}, theo cách này:

form.collection_radio_buttons(:category_id, @categories, :id, :name, { checked: @categories.first.id }, { class: "category-options"}) 
Các vấn đề liên quan