2012-12-09 52 views
0

我需要爲在rails中使用簡單表單的複選框設置默認的checked/unchecked值,假設我有一個擁有「訂閱」屬性的User模型。因此,在他的個人資料頁面上,我想輸出一個複選框,如果它被選中,將會傳遞「是」值。到目前爲止,我有:SimpleForm Rails:爲複選框指定選中和未選中的值

= simple_form_for @user do |user| 
= user.input :subscribed, as: :boolean, label: false, inline_label: 'Do you want to subscribe?', value: "yes" 

但它仍然顯示1作爲複選框的值...

回答

1

對於像:subscribed一個布爾屬性,你真的應該店的值作爲布爾。存儲'yes''no'不是最好的主意。 我的回答將反映這種更好的做法。

爲了獲得一個默認true值(有默認選中的複選框),你可以在User模型

after_initialize do 
    subscribed = true if subscribed.nil? 
end 

提供了:subscribed屬性的默認值這將導致複選框被選中默認情況下用於沒有明確退訂的用戶。