我想我想将模型级查找器与lambda结合使用。
named_scope :recent_snaps, lambda {|since_when| {:conditions=>{:created_at >= since_when}}}
但我不确定,也不确定语法是否正确,尤其是参数段,并且现在无法运行该应用程序以在控制台进行检查。
我不想使用find_by_sql或控制器查找,而是希望我的查找器在模型级别进行rspec测试。
如果您使用的是Rails 3(假设是给定问题的标签,那么您应该使用)scope而不是named_scope和where而不是conditions。此外,您不能>=在哈希中使用。
scope
named_scope
where
conditions
>=
您完成的范围应如下所示:
scope :recent_snaps, lambda { |since_when| where("created_at >= ?", since_when) }