2010-01-08 40 views

回答

0

如果你能在一个find()方法调用中使用它,通常你可以用一个名为范围内使用它。查找的参数在文档(http://apidock.com/rails/ActiveRecord/Base/find/class)中逐项列出,但我不确定该来源是否是其中之一。据我所知,这是为了一种有关系的事情,而不是寻找。

但是,命名范围可以应用于关系,所以也许这就是你的意图。

1

不,你不能,因为你不需要。 命名范围,其中中定义的模型的一部分。

class Post 
    named_scope :published, :conditions => { :published => true } 
end 

然而,这并不妨碍你通过关联使用命名范围。

class Category 
    has_many :posts 
end 

category.posts # => all posts 
category.posts.published # only published posts 
+0

然而,这种方法完全忽略了得墨忒耳定律,has_many => through的主要好处之一 – Houen 2012-01-12 11:55:57