2013-04-11 73 views
0

我在ROR 3.2它通常最好使用範圍的方法在模型中檢索記錄帶參數,而不是LAMDA的文檔中看到的作用域何時在Rails中使用動態查找器與範圍和範圍方法?

使用類方法是首選的方式接受 範圍參數。這些方法仍然會在關聯 對象

但訪問時,你使用動態查找器(如find_by_的*,而不是規模和範圍的方法?動態查找器還可以接收參數,它們似乎是簡單的使用直接從該視圖。

如果我想要檢索所有具有

attribute1 == [boolean] AND attribute2 IN [array]

記錄其方法是可取的(範圍,範圍方法,或動態取景器?)

回答

0
  1. 您不應該在您的意見中使用任何發現者。
  2. 我可能會寫這個使用類的方法。

是這樣的:

class Dog < ActiveRecord::Base 

    attr_accessible :chewed, :color  

    def self.toys chewed = false, colors = [] 
    where chewed: chewed, color: colors 
    end 

end