在Rails 5.1中的has_and_belongs_to_many连接表中显示对象名称

时间:2018-01-23 16:26:59

标签: ruby-on-rails ruby-on-rails-5

我有一个Product模型和Tag模型与has_and_belongs_to_many的{​​{1}}关系。我的标签有一个名为join_table的字符串列。

一切正常,但在我的产品索引视图中,我想列出与产品相关的所有标签。由于它在join_table中,我不知道如何创建桥来获取Tag名称;我似乎能做的就是列出所有tag_ids。

产品/ index.html.erb

name

tag.rb

<% @products.each do |product| %>
  <tr>
    <td><%= product.name %></td>
    <td><%= product.tag_ids %></td>
    ...
  </tr>
<% end %>

product.rb

class Tag < ApplicationRecord
  has_and_belongs_to_many :products
  ...
end

1 个答案:

答案 0 :(得分:4)

标签应该可以通过产品访问。

如果我遇到问题,您只需在tags个实例上致电product即可。

<% product.tags.map do |tag| %>
    ...
    <%= tag.name %>
    ...
<% end %>