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