How to know if an Model has a relationship set in Ruby?
本问题已经有最佳答案,请猛点这里访问。
我有一个这样的模型:
1 2 3 4 5 | class Year < ActiveRecord::Base extend FriendlyId friendly_id :year, use: :slugged has_many :events |
我希望在我的控制器中获得至少具有一个事件的所有年份。我怎样才能做到这一点?
我试图做到这一点:
1 2 3 4 | Year.includes(:events).first.events Year Load (0.3ms) SELECT `years`.* FROM `years` ORDER BY `years`.`id` ASC LIMIT 1 Event Load (0.3ms) SELECT `events`.* FROM `events` WHERE `events`.`year_id` IN (1) => #<ActiveRecord::Associations::CollectionProxy []> |
但是这将返回空集。
加入活动。这给了您所有的年份,除了那些没有附加事件的年份。
1 | Year.joins(:events).distinct |