ruby - Rails 3 - #<User :0x00000104c69b98> 的未定义方法 `where'

标签 ruby ruby-on-rails-3 helper where-clause conditional-statements

我有以下辅助方法:

  def orders_chart_series(orders, start_time)
    orders_by_day = orders.where(:created_at => start_time.to_date..Date.today).
                    group("date(created_at)").
                    select("created_at, count(id) as total_price")
    (start_time.to_date..Date.today).map do |date|
      order = orders_by_day.detect { |order| order.created_at.to_date == date }
      order && order.total_price.to_f || 0
    end.inspect
  end

我仍然收到此线程名称中的错误。我尝试打印 orders 参数的内容,我得到了这个:

#<User:0x00000104c69b98>

这个问题是什么意思?我试图寻找这个问题的解决方案,但我仍然知道如何解决它。 我还尝试将命令 where 替换为 conditions,但还是一样。

我将非常感谢有关此问题的所有帮助,谢谢。

最佳答案

您正在尝试在 User 实例上调用 where,而不是在 User 类(where 是一个类方法)。您可以将 orders.where 更改为 orders.class.where

(在名为 orders 的变量中有一个 User 实例也有点令人困惑,但这可能只是我。)

关于ruby - Rails 3 - #<User :0x00000104c69b98> 的未定义方法 `where',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490846/

相关文章:

ruby-on-rails-3 - :any option for rails 3 routes

http - :post, :put, & :delete? 的 Rails 3 link_to 生成器

ruby-on-rails-3 - 什么时候会创建 Controller 的实例?

ruby-on-rails - Rails 引擎 : Helpers only are reloaded when restarting the server

jQuery Draggable Helper 停止自动删除

ruby - 如何在 Ruby 中遍历 YAML 树中的所有节点?

ruby - 如何合并 Ruby 哈希

ruby-on-rails - 如何在 Rails 的 application.html.erb 中显示不同的 header ?

ruby - 从上面的上下文返回

java - 如何从线程组中删除线程