2010-06-15 38 views
0

比方說,我有兩個型號,像這樣:的Rails 2.3

class Comment < ActiveRecord::Base 
    belongs_to :user 
    named_scope :about_x :conditions => "comments.text like '%x%')" 
end 

class User < ActiveRecord::Base 
    has_many :comments 
end 

我想用這些模型,這樣我可以返回所有用戶和所有評論與LIKE「%文本x%'

all_user_comments_about_x = User.comments.about_x 

如何繼續?

謝謝

回答

0

如果我理解正確的話,你需要

# all comments about x and the user who did it 
@comments = Comment.about_x(:include => :user) 

@user = User.first 
# all @user's comments about x 
@comments = @user.comments.about_x 
+0

thakns j,如果我想添加一個named_scope到使用about_x命名範圍的評論模型的用戶模型,這可能嗎? – mustafi 2010-06-15 13:39:46

1

嘗試以下

class User < ActiveRecord::Base 
    has_many :comments 
    named_scope :about_x, :joins => :comments, :conditions => ["comments.text like '%x%'"] 
end 

然後

@comments = User.about_x