ruby-on-rails - Model.count 和 Model.count 之间的 Rails 差异(:all)

标签 ruby-on-rails ruby-on-rails-4

有什么区别吗

User.count 


User.count(:all)

当我使用 ModelName.count(:all) 时,我将 rails 升级到 4.0它运行良好,但如果我使用 ModelName.count发生以下错误。顺便说一下,他们的机器人在 rails 3.2 中运行良好
SELECT COUNT() FROM "users"
PG::WrongObjectType: ERROR:  count(*) must be used to call a parameterless aggregate function
LINE 1: SELECT COUNT() FROM "users"

最佳答案

我也遇到了这个问题。更改是在 中引入的this commit .像一条线

User.count

现在会抛出 ActiveRecord::StatementInvalid错误,因为它会生成 SELECT COUNT() FROM users在 Postgres 上。截至本次提交,修复方法是将您的代码更新为
User.count(:all)

This commit 使用 :all 恢复以前存在的功能作为传递给 ARel 的“列”,导致有效的 SQL 查询 SELECT COUNT(*) FROM users .

我的 Gemfile最初有以下内容(如评论中所述)
gem "rails", github: "rails/rails", branch: "4-0-stable"

但我需要运行 bundle update rails下拉上面提到的较新的提交。

关于ruby-on-rails - Model.count 和 Model.count 之间的 Rails 差异(:all),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18252570/

相关文章:

ruby-on-rails - Rails 生成错误 : No such file or directory - getcwd

mysql - rails 3.2 + MySQL : Error: Field 'created_at' doesn't have a default value: INSERT INTO

ruby-on-rails - 使用 AR 纠正 Postgres 和 SQLite3 中以 nil 值排序日期时的不同行为

php - PHP MD5 key 的等效 ruby​​ 代码

ruby-on-rails - Heroku 暂存环境未部署所有图像和 CSS

ruby-on-rails - 使用belongs_to 关联的整数字段在RailsAdmin 中过滤

ruby-on-rails - 是什么导致 "NoMethodError: undefined method ` 包括 ?' for nil:NilClass"

mysql - 选择什么数据库,使用 rails。大数据库

ruby-on-rails - 密码长度验证永远不会通过 has_secure_password

ruby-on-rails - 凡带有 has_many 的地方