Ruby on rails 在Rails 5.1中,显示对象名称来自has_和属于多个联接表

Ruby on rails 在Rails 5.1中,显示对象名称来自has_和属于多个联接表,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我有一个产品模型和一个标签模型,在中与联接表有很多关系,并且属于很多关系。我的标记有一个名为name的字符串列 一切正常,但在我的产品索引视图中,我想列出与产品相关的所有标记。因为它在一个join_表中,我不知道如何创建桥来获取标记名;我能做的就是列出所有的标签ID products/index.html.erb <% @products.each do |product| %> <tr> <td><%= product.name %>

我有一个
产品
模型和一个
标签
模型,在
中与
联接表
有很多关系,并且属于很多关系。我的标记有一个名为
name
的字符串列

一切正常,但在我的产品索引视图中,我想列出与产品相关的所有标记。因为它在一个join_表中,我不知道如何创建桥来获取标记名;我能做的就是列出所有的标签ID

products/index.html.erb

<% @products.each do |product| %>
  <tr>
    <td><%= product.name %></td>
    <td><%= product.tag_ids %></td>
    ...
  </tr>
<% end %>
class Tag < ApplicationRecord
  has_and_belongs_to_many :products
  ...
end
class Product < ApplicationRecord
  ...
  has_and_belongs_to_many :tags
  ...
end

...
标记.rb

<% @products.each do |product| %>
  <tr>
    <td><%= product.name %></td>
    <td><%= product.tag_ids %></td>
    ...
  </tr>
<% end %>
class Tag < ApplicationRecord
  has_and_belongs_to_many :products
  ...
end
class Product < ApplicationRecord
  ...
  has_and_belongs_to_many :tags
  ...
end
class标记
product.rb

<% @products.each do |product| %>
  <tr>
    <td><%= product.name %></td>
    <td><%= product.tag_ids %></td>
    ...
  </tr>
<% end %>
class Tag < ApplicationRecord
  has_and_belongs_to_many :products
  ...
end
class Product < ApplicationRecord
  ...
  has_and_belongs_to_many :tags
  ...
end
类产品
标签应可通过产品访问

如果我正确地得到问题,您可以简单地调用
产品
实例上的
标记

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

...
...

标签应可通过产品访问

如果我正确地得到问题,您可以简单地调用
产品
实例上的
标记

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

...
...