2010-01-08 47 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