【发布时间】:2011-07-07 13:53:04
【问题描述】:
我正在尝试从 AREL 获取 SQL,但如果我使用 average(:stars) 则它不起作用:
这行得通:
Review.where("reviewed_user_id = ?", self.reviewed_user_id).to_sql
#=> "SELECT `reviews`.* FROM `reviews` WHERE (reviewed_user_id = 3)"
这会导致NoMethodError:
Review.where("reviewed_user_id = ?", self.reviewed_user_id).average(:stars).to_sql
#=> undefined method `to_sql' for 3:Fixnum
这意味着to_sql 是在 AREL 的结果上而不是在 AREL 对象上被调用 - 但为什么呢?
如何获取生成的SQL?
【问题讨论】:
标签: ruby-on-rails-3 activerecord