当选项为nil rails 4时,如何隐藏表单选择选项

时间:2015-05-04 17:08:55

标签: ruby-on-rails ruby-on-rails-4

我已选择以下表格:

<%= f.select(:size_requested, [@item.size1, @item.size2, @item.size3, @item.size4, @item.size5, @item.size6, @item.size7, @item.size8, @item.size9, @item.size10], {}, { class: 'form-control quantity-select' }) %>

我试图让它只有非零的尺码作为选项出现,并避免这种情况:

enter image description here

当我尝试(@ item.size6 if @ item.size6)这些选项时,我仍然遇到同样的问题,并且仍然可以看到nil选项。任何人都可以带领我朝着正确的方向以干净的方式解决这个问题吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您可以使用compact方法从数组中删除nils。例如:

[1, nil, 2, nil].compact

此外,正如您对问题的评论所示,在控制器中设置数组然后在视图中引用该数组而不是在视图本身中执行逻辑是个好主意。