简单形式:将集合选择绑定到值

时间:2017-02-04 11:43:00

标签: ruby-on-rails simple-form

我有一个布尔属性为“public”的模型。 在一个简单的表单中,在编辑界面上,我有:

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

我不希望在select的选项中包含truefalse,但我需要将Public绑定到truePrivatefalse,因此在提交表单时,会将公开属性保存到truefalse

我可以调整控制器中的东西,但我想知道是否有一种干净的方法来做到这一点。

此外,由于它是编辑页面,因此public属性已有值。我也可以在这里将存储的值绑定到PublicPrivate,以便在表单中显示当前保存的值?

1 个答案:

答案 0 :(得分:2)

<%= f.input :public, 
        :as => :select, 
        :collection => [['Private',false],['Public',true]], 
        :include_blank => false, 
        :selected => false,
        :label => "Public?" %>