ruby-on-rails - 按类方法 rails 的输出排序

标签 ruby-on-rails activerecord scope

我正在尝试输出由模型上的特定类方法排序的 JSON 响应。我知道我可以按实际属性排序,但我如何通过发送 block 来排序。即:

class Baker
  has_many :meals

  def this_week_cookies
    self.meals.this_week.sum(:cookies_baked)
  end
end

我想调用类似的东西

Baker.order{|baker| baker.this_week_cookies}

在 View 中输出排行榜,但我知道那行不通

最佳答案

order 方法正在编写一个 SQL 查询,因此它不能使用那样的自定义方法。你需要使用 ruby​​ 来做你想做的事。

Baker.all.sort_by(&:this_week_cookies)

关于ruby-on-rails - 按类方法 rails 的输出排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25578230/

相关文章:

ruby-on-rails - rails |循环和保存 json post 数据的优雅方式

ruby-on-rails - 是否有任何基于 Ruby on Rails 开发的框架

ruby-on-rails - 如何在rails中使用动态绑定(bind)执行原始更新sql

javascript - Angular 工厂中的变量范围

mysql - 从 db : how to consider only date in datetime field? 中检索数据

ruby-on-rails - rails : Passenger not serving multiple requests at a time

mysql - Rails - 指定连接列

ruby-on-rails - 我如何在 rails 中使外键/主键不区分大小写

javascript - 如何调用 $(document).ready() 中声明的函数?

Android:从另一个 Activity 访问一个 Activity 中的方法