2012-08-30 95 views
5

我很新的軌道,這也是我的第一篇文章,但我試圖在視圖頁面上創建一個simple_form應該是某個用戶的設置頁面,我已經搜索了2天現在一個答案,我找不到任何地方。rails,simple_form,如何在保存後用所選選項更新單選按鈕?

<%= f.input :gender, label: 'What is your gender?', collection: [ ['M', 'Male' ], ['F', 'Female'] ], as: :radio_buttons, label_method: :last, value_method: :first, checked: 'M', item_wrapper_class: 'inline'%> 

這是我的輸入標籤也是迄今唯一的選擇是設置:檢查=>「M」,這樣節省了用戶設置後的單選按鈕將被選中(但是這不會是正確的如果我選擇「女性」性別,因爲在保存設置頁面後,默認選擇「男性」單選按鈕。

那麼是否有任何方法使用簡單形式(甚至下拉列表)的單選按鈕,以便在保存頁面後,性別將保持選中狀態?

回答

16

嘗試使用用戶的性別屬性,而不是「M」 FO檢查:

<%= f.input :gender, label: 'What is your gender?', collection: [ ['M', 'Male' ], ['F', 'Female'] ], as: :radio_buttons, label_method: :last, value_method: :first, checked: @user.gender, item_wrapper_class: 'inline'%> 
+0

非常感謝的快速反應,應該解決我的問題 – ma3x

+0

這個回答我的問題也是如此。但是,如何防止表單在編輯視圖中默認選中?或者換一種說法,我們如何在「新」而不是「編輯」中使用此選項? – cpursley

+0

cpursely這樣做的一種方法是(默認爲'新'的男性,沒有'編輯'): ...,checked:params [:action] =='new'? 'M':無 – danebez