2016-02-01 114 views
0

在Rails 4 form_for形式,我有:Rails check_box:檢查是否有新記錄?

f.check_box :visible

我想要的複選框被渲染呈現形式爲全新(即未保存的)對象時檢查

保存對象時,我希望複選框正常運行(即根據保存的對象的值檢查或不檢查)。

這工作:

f.object.new_record? ? (f.check_box :visible, :checked => true) : (f.check_box :visible)

..但它很長!有一個更簡單/更好的方法可以完成此任務嗎?

+0

爲什麼不設置可見真正的未保存記錄? –

回答

1
f.check_box :visible, checked: (f.object.new_record? || f.object.visible) 
0

屬性就設置爲true,當你在控制器中創建新的對象:

def new 
    @model = Model.new(visible: true) 
end