0

我有 @user 变量,我有资源表,然后我有一个收藏夹表,它只是 user_id 和 resource_id

@user.resources.each显然有效

@user.favorites.first.resource工作正常,除了我想要所有的资源。

@user.favorites.resources不工作

资源.rb

  belongs_to :category
  belongs_to :user
  has_many :favorites
  has_many :resource_tags
  has_many :tags, :through => :resource_tags

用户.rb

  has_many :resources
  has_many :favorites

最喜欢的.rb

  belongs_to :resource
  belongs_to :user
4

1 回答 1

2

尝试:

@user.favorites.includes(:resource).collect(&:resource)

这应该急切地从所有用户的收藏夹中加载资源,然后收集应该将它们作为数组返回。

于 2012-04-13T05:44:12.517 回答