2010-06-15 36 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