【发布时间】:2020-03-15 12:31:48
【问题描述】:
我有这些模型...
class Administrator < ApplicationRecord
...
has_many :locations
class Location < ApplicationRecord
...
has_many :displays, :dependent => :destroy
我有这段代码是为了检索符合特定条件的所有显示...
@displays = []
current_user.locations.each do |location|
@displays = (@displays + location.displays.where(:user => user).includes(:administrator)).uniq
end
我想找到一种巧妙的 Rails 方法将上面的内容简化为一个内衬,所以我尝试了这个
@displays = current_user.locations.displays.where(:user => user).includes(:administrator).flatten.uniq
但这会导致错误
undefined method `displays' for #<ActiveRecord::Associations::CollectionProxy []>
有没有办法在一行中重写我的初始块?
【问题讨论】:
标签: ruby model ruby-on-rails-5 rails-activerecord entity-relationship