2017-02-04 14 views
0

私はブール属性「public」を持つモデルを持っています。シンプルなフォーム:バインドコレクションの値を選択して選択

<%= f.input :public, :collection => ['Public', 'Private'], label: "Access", selected: 1 %> 

私は選択のオプションでtrueまたはfalseを持っている必要はありませんが、私はにtruePrivatePublicをバインドする必要があります:シンプルな形では 、編集インターフェイスで、私はこれを持っていますfalseであるため、フォームが送信されると、公開属性がtrueまたはfalseに保存されます。

私はコントローラの中で何かを微調整することができましたが、これを行うためのきれいな方法があるかどうかを知りたいと思います。

また、編集ページなので、public属性はすでに値を持っています。現在保存されている値をフォームに表示させるには、どのようにしてPublicまたはPrivateに保存された値をバインドすることができますか?

答えて

1
<%= f.input :public, 
     :as => :select, 
     :collection => [['Private',false],['Public',true]], 
     :include_blank => false, 
     :selected => false, 
     :label => "Public?" %> 
関連する問題