rails中的自定义属性

时间:2015-11-01 13:21:53

标签: ruby-on-rails ruby postgresql

我有一个学生模型和一个进行一些计算并返回值的方法

class Student < ActiveRecord::Base
  def total_result
     #some calculations
     return result
   end
end

现在在我的学生控制器中我想做以下

Student.where("total_result > ?", params[:result])

但这会带来PG :: UndefinedColumn:ERROR。我正在使用postgres。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

您可以使用:

Student.select { |student| student.total_result > params[:result] }

警告语:这将加载数据库中的所有学生并计算每个学生的值。这将很慢,具体取决于表格中的学生人数。

如果您更频繁地需要它,那么将计算结果存储/缓存在数据库中是有意义的。