0

@user変数があり、resourcesテーブルがあり、次に、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
4

1 に答える 1

2

試す:

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

これにより、すべてのユーザーのお気に入りからリソースを熱心にロードし、収集によってそれらを配列として返す必要があります。

于 2012-04-13T05:44:12.517 に答える