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



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

所以,我想做的是根据产品活动属性将属性active显示为选中或未选中的复选框,

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

我在带有 postgres 的 db 上使用 smallint,只保存 1 或 0:

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

如果你使用bootstrap 3,你可以使用这个想法

在 product.rb 中设置像这样的一种方法

def active_status
if product.active
"glyphicon glyphicon-ok text-success"
else
"glyphicon glyphicon-minus text-danger"
end
end

在您的节目.html.erb中,您可以输出如下

<i class='<%= product.active_status %>'></i>

如果 product.active 等于真,这将显示绿色绿色复选标记,如果为假,则显示减号

Rails 中的cheack_box_tag方法可以采用几个不同的参数。根据APIDock(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 %>

最新更新