我有三个表,Show
,Episode
和Character
。每个显示has_many节目和字符。在嵌套连接表上调用uniq
class Show < ActiveRecord::Base
has_many :episodes
has_many :characters
class Episode < ActiveRecord::Base
belongs_to :show
class Character < ActiveRecord::Base
belongs_to :show
情节有属性:air_date
和:episode_number
。显示有一个属性:title
。
我有一个字符列表@characters
。我想要完成的是打印与这些角色相关的节目列表,由节目第二集的播出日期排序。
<% @characters.includes(show: :episodes).where(episodes: {episode_number: 2}).order('episodes.air_date DESC').each do |character| %>
<%= character.show.title %>
<% end %>
这几乎工作,但一些节目有多个字符,所以在打印列表中,一些节目被多次列出。
是否有可能将红宝石方法uniq
应用于查询中的Shows表,以便每个Show最多打印一次?