我想查詢一個使用連接來查找需要警報的用戶的數據庫。我的查詢在它爲其編寫的模型中正常工作,並且在傳遞的參數是顯式的時它也可以在範圍內工作。但是,當我將參數作爲變量傳遞時,它不起作用。這裏是我的代碼:在Rails 3中傳遞的跨作用域參數
class Alert < ActiveRecord::Base
belongs_to :user
attr_accessible :first_alert, :second_alert, :third_alert, :user_id
def self.find_users_to_alert(time)
where(:third_alert => time)
end
scope :alerter, find_users_to_alert (here is where i want to pass param)
end
class User < ActiveRecord::Base
has_many :alerts
attr_accessor :password
attr_accessible :name, :email, :password, :password_confirmation
scope :alerts_to_be_sent, joins(:alerts) & Alert.alerter
end
我得到的錯誤是一個NameError未定義的局部變量或方法。但我會想在滑軌控制檯中傳遞變量的值,例如:
User.alerts_to_be_sent(5)
會好的。幫助,將不勝感激。
謝謝你救了我很多挫折。我根本不需要使用範圍。組合的類方法很好地工作。 – Hugs 2012-02-08 22:10:45