2011-09-18 9 views
8

ここでは動作しないedit.html.erbのコードがあります。コードの目的は、編集用のフォームを記入することです。コレクションは、yesとnoのオプションで使用されます。選択したオプションでコレクションを現在の「アクティブ」値に設定するにはどうすればよいですか?simple_formでコレクションの現在の値を設定する方法

<%= simple_form_for @category do |f| %> 

    <%= f.input :name, :disabled => true, :required => false %> 
    <%= f.input :description %> 
    <%= f.input :active, :collection => ['Yes', 'No'], :selected => f.active %> 
    <%= f.button :submit %> 
<% end %> 

アクティブを示すエラーは、f.input:active、:collectionのメソッドではありません。カテゴリのactive属性を想定し

答えて

13

はしてみてください、ブールです:

:selected => (@category.active? ? 'Yes' : 'No') 
+0

それは動作しませんでした。アクティブなコレクションは[はい]のみを表示し、アクティブな場合でもfalseです。ありがとう。 – user938363

+0

'active'属性はブール値ですか?ブール値であれば意味がありますが、文字列であれば ':selected =>(@ category.active == 'Yes'? 'Yes': 'No')' – James

+0

はい、アクティブです。ブール値。 – user938363

関連する問題