我有一个模型product
,它在索引中有一个名为active
的属性,显示了完整的产品列表。
因此,我想要做的是根据产品有效属性显示属性active
作为选中或取消选中的复选框
我一直在尝试使用check_box_tag
,但它不起作用,它会显示始终选中的复选框,这是我checkboxes
的代码行。
我在db上使用了smallint和postgres,只保存了1或0:
<%= check_box_tag "Active", product.active, product.active,disabled: true %>
答案 0 :(得分:1)
如果你使用bootstrap 3,你可以使用这个想法
在product.rb中设置一个像这样的方法
createPack
并在show.html.erb中输出如下
def active_status
if product.active
"glyphicon glyphicon-ok text-success"
else
"glyphicon glyphicon-minus text-danger"
end
end
如果product.active等于true,则显示绿色绿色复选标记,如果为false,则显示减号
答案 1 :(得分:0)
Rails中的cheack_box_tag
方法可以采用一些不同的参数。根据{{3}}(check_box_tag 'eula', 'accepted', false, disabled: true
),确定复选框是否被标记的参数是第三个参数。看起来您正在将product.active
传递给该参数。根据你的问题,你说它返回1或0,它们都是对象,在Ruby中被解释为True。我建议用一个三元语句来解决这个烂摊子。
<%= check_box_tag "Active", product.active, (product.active == 1 ? true : false), disabled: true %>