我的某个模特上有一个orde字段,该模型还有一个is_milestone?返回true或false的方法,具体取决于订单是50或100里程碑。
我希望选择所有里程碑项目但是可以使用is_milestone来完成吗?方法
我目前有:
@milestones = Model.where(:is_milestone?).order('order ASC')
但它不起作用,我认为我的语法错误但不确定应该如何编写。
有什么想法吗?
答案 0 :(得分:1)
否 - 您不能要求数据库执行需要与您的Ruby代码交互的查询。
您能够使其工作的唯一方法是在模型上创建is_milestone
属性并将布尔值存储在数据库中。您可以使用after_save
回调填充此值,该回调计算里程碑,如果它是第50个或第100个,则将值设置为true。