如何通过rails中的关联使用Active Record获取这些记录?

时间:2012-04-13 02:41:19

标签: ruby-on-rails ruby ruby-on-rails-3 instance-variables

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

@user.resources.each显然可以正常工作

@user.favorites.first.resource工作正常,但我需要所有资源。

@user.favorites.resources不起作用

resource.rb

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

user.rb

  has_many :resources
  has_many :favorites

favorite.rb

  belongs_to :resource
  belongs_to :user

1 个答案:

答案 0 :(得分:2)

尝试:

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

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