ActiveRecord命令不起作用

时间:2016-08-29 02:40:57

标签: ruby-on-rails activerecord

在我的控制器中,在重新确定“孩子”的优先级后,会按新订单列出子项:@child.parent.children.sort_by{|g| g.priority }

令人惊讶的是,这不起作用:@child.parent.children.order(priority: :asc)

为什么.order不起作用?它不是正确排序,而是在运行此操作之前按PREVIOUS顺序排序,因此我假设它使用缓存结果(查询在操作之前运行)。如果这确实是问题,那么如何缓存那个缓存呢?在重新设置优先级后,我尝试了@child.reload无效。

1 个答案:

答案 0 :(得分:4)

如果您对children关联进行了一些订购,则可能会尝试使用reorder来应用新订单:

@child.parent.children.reorder(priority: :asc)