ruby-on-rails - 使用 Squeel 时参数数量错误

标签 ruby-on-rails ruby squeel

首先,我在 Rails 控制台中进行了简单的 squeel 测试。

User.where{name == "abc"}

新建Ruby项目没有问题

User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."name" = 'abc' => [] 

但是,当我将它应用到我现有的项目时,它会给我错误消息:

1.9.3p125 :001 > User.where{name == "abc"}
ArgumentError: wrong number of arguments (0 for 1)  from /Users/xxx/.rvm/gems/ruby-1.9.3-p125/gems/parse_resource-1.7.3/lib/parse_resource/query.rb:11:in `where'
    from /Users/xxx/.rvm/gems/ruby-1.9.3-p125/gems/parse_resource-1.7.3/lib/parse_resource/base.rb:243:in `where'
    from (irb):1
    from /Users/xxx/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.3/lib/rails/commands/console.rb:47:in `start'
    from /Users/xxx/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.3/lib/rails/commands/console.rb:8:in `start'
    from /Users/xxx/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.3/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

我发现最相关的问题是 Squeel issue #193 .

它说 Squeel 没有加载。但是,就我而言,new-created 可以在同一台机器上实现。

无论如何,我尝试按照它的说明更改 active_record.rb,但问题仍然存在于我现有的项目中。

我正在使用 Ruby-1.9.3-p125、Rails v3.2.6 和 Squeel 1.0.14。

最佳答案

好吧,除了使用 where 子句,您还可以使用:

User.filter(:name => 'abc').first

这可能适用于您的情况

关于ruby-on-rails - 使用 Squeel 时参数数量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737496/

相关文章:

ruby-on-rails - rails : Prevent XSS when using link_to with model attribute given to href

ruby-on-rails - 为什么 bash 一直在提示符中显示我的 ruby​​ 版本?

windows - Windows XP下检测是否以管理员权限运行

ruby-on-rails - 我应该为我的 Rails 2.3.10 应用程序使用 Ruby 1.9.2 吗?

ruby-on-rails - 从多个其他人组合一个 Gemfile

ruby-on-rails - 使用 Squeel gem 查找多个时间段

ruby-on-rails - Pathname#join 中的 '{**}' 是什么意思

ruby-on-rails - has_many 与 `limit` 的关联获取所有记录而不是提供的限制

ruby-on-rails - `const_missing' : uninitialized constant (NameError)

mysql - Rails AR + Mysql - 排除电影类型无法按预期工作