遍历资源列的最佳方式?

Best way to iterate through resource column?

我正在制作一个列表来显示按类别过滤的输入。 我想要 6 个输入来显示类别及其图标。

我有一个名为 Pin 的 table,它有一个 :category 列。

我只会有 6 个固定类别,所以我想最好的方法是将它们和每个类别的图标一起硬编码到一个实例变量中?

@categories = ["Lamparas","Mesas","Camas","Accesorios","Textil","Sofas"]
@categories_icons = ["svg23","svg24","svg25","svg26","svg27","svg29"]

在我看来,我在做:

<% @categories.each do |category| %>
    <li class="product-list-item">
        <div class="product-tile">
            HERE GOES THE ICON
        </div>
        <%= f.radio_button :category, html_input: {type: :radio, name: "#{category}", value: "#{category}"} %>
    </li>
<% end %>

问题是,在视图上绘制图标时,如何将它们与类别匹配?

你怎么看这个?

categories = ["Lamparas","Mesas","Camas","Accesorios","Textil","Sofas"]
icons = ["svg23","svg24","svg25","svg26","svg27","svg29"]
@categories_icons = Hash[[categories,icons].transpose]

您可以将 HERE GOES THE ICON 替换为:

@categories_icons[category]