0
Post
s屬於User
s。 User
■找,屬於多個角色(即我們這裏處理的表是posts
,users
,roles
和roles_users
)基於多對多關係的篩選結果
如何我可以選擇通過誰擁有「編輯」角色的用戶編寫的所有帖子?
也就是說,我要的
Post.all.select{|p| p.user.roles.map(&:name).include?("Editor")}}
Post
s屬於User
s。 User
■找,屬於多個角色(即我們這裏處理的表是posts
,users
,roles
和roles_users
)基於多對多關係的篩選結果
如何我可以選擇通過誰擁有「編輯」角色的用戶編寫的所有帖子?
也就是說,我要的
Post.all.select{|p| p.user.roles.map(&:name).include?("Editor")}}
Post.all(:joins => {:user => :roles}, :conditions => ["roles.name = ?", "editor"])
數據庫驅動的版本,你可以嘗試這樣的事:
class Role < ActiveRecord::Base
has_and_belongs_to_many :users
has_many :posts, :through => :users
end
然後,你可以做這樣的事情:
Role.find(editor_id).posts
這是正確的,雖然'roles.name =>?'呃d be'roles.name =?' – 2010-08-05 00:56:47
好電話,更新了帖子。謝謝! – 2010-08-05 04:00:22