在Rails 3中查询的自定义模型方法

时间:2014-01-06 13:09:52

标签: ruby-on-rails

您好我需要在calculate_reach查询

中使用名为where的模型方法
@creators = User.joins(:identities, :roles).where("users.calculate_reach between ? and ?", '5000000', '5999999')

基本上,它没有认识到calculate_reach。它不是users table

的属性

如何在WHERE子句中使用自定义方法映射结果。感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用范围来自定义查询,而不是将方法添加到模型链接 http://guides.rubyonrails.org/active_record_querying.html#scopes

答案 1 :(得分:0)

@creators = User.joins(:identities, :roles).select do |u| 
  u.calculate_reach.between?(5000000, 5999999)
end

这样的事情可能会成功。假设calculate_reach返回一个数字。