我有一个布尔属性为“public”的模型。 在一个简单的表单中,在编辑界面上,我有:
<%= f.input :public, :collection => ['Public', 'Private'], label: "Access", selected: 1 %>
我不希望在select的选项中包含true
或false
,但我需要将Public
绑定到true
和Private
到false
,因此在提交表单时,会将公开属性保存到true
或false
。
我可以调整控制器中的东西,但我想知道是否有一种干净的方法来做到这一点。
此外,由于它是编辑页面,因此public属性已有值。我也可以在这里将存储的值绑定到Public
或Private
,以便在表单中显示当前保存的值?
答案 0 :(得分:2)
<%= f.input :public,
:as => :select,
:collection => [['Private',false],['Public',true]],
:include_blank => false,
:selected => false,
:label => "Public?" %>