我的用户模型包含许多照片,而且这些照片有很多标签。
我的路线:
resources :users do
resources :photos do
resources :tags
end
end
我的观点:
<%= @user.photos.tags.count %>
我不知道如何检索用户拥有的所有标记,因为它是第二级嵌套资源。 任何的想法?谢谢你们!
答案 0 :(得分:2)
你走了:
class User < ActiveRecord::Base
has_many :photos, dependent: :destroy
has_many :tags, through: :photos
end
class Photo < ActiveRecord::Base
belongs_to :user
has_many :tags, dependent: :destroy
end
class Tag < ActiveRecord::Base
belongs_to :photo
end
# @user.tags
滚动到http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association的结尾 顺便说一句,不要将嵌套资源和关联作为术语混淆。
答案 1 :(得分:2)
你可以这样做:
class User < ActiveRecord::Base
has_many :photos
has_many :tags, through: :photos
end
在视图中:
<%= @user.tags.count %>