我有一个学生模型和一个进行一些计算并返回值的方法
class Student < ActiveRecord::Base
def total_result
#some calculations
return result
end
end
现在在我的学生控制器中我想做以下
Student.where("total_result > ?", params[:result])
但这会带来PG :: UndefinedColumn:ERROR。我正在使用postgres。我如何实现这一目标?
答案 0 :(得分:0)
您可以使用:
Student.select { |student| student.total_result > params[:result] }
警告语:这将加载数据库中的所有学生并计算每个学生的值。这将很慢,具体取决于表格中的学生人数。
如果您更频繁地需要它,那么将计算结果存储/缓存在数据库中是有意义的。