如何根据模型属性设置索引视图的复选框?

时间:2017-08-29 15:47:16

标签: ruby-on-rails postgresql

我有一个模型product,它在索引中有一个名为active的属性,显示了完整的产品列表。

因此,我想要做的是根据产品有效属性显示属性active作为选中或取消选中的复选框

我一直在尝试使用check_box_tag,但它不起作用,它会显示始终选中的复选框,这是我checkboxes的代码行。

我在db上使用了smallint和postgres,只保存了1或0:

  <%= check_box_tag "Active", product.active, product.active,disabled: true %>

2 个答案:

答案 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 %>