我正在尝试显示我网站上用户发布的所有类别。这就是我的模型的设置方式:用户能够创建许多列表。这是一对多的关系。一个商品可以有多个分类,而分类有多个商品(有多个商品具有相同的分类(。如何显示用户列出的所有类别?我试过了
<% @user.listings.each.unique.categories do |category| %>
<li><%= category %></li>
<% end %>
以及
<% @user.listings.categories do |category| %>
<li><%= category %></li>
<% end %>
关于如何解决此问题的任何建议?
如果你通过内部用户模型has_many,你可以直接这样做
class User < ApplicationRecord
has_many :listings
has_many :categories, through: :listings
end
然后你可以做
<% @user.categories do |category| %>
<li><%= category %></li>
<% end %>
您可以形成类别列表
<% categories = @user.listings.flat_map { |l| l.categories }.uniq %>
<% categories.each do |category| %>
<li><%= category %></li>
<% end %>
或者使用through
配置User
和Category
之间的关系