使用Squeal时参数数量错误

时间:2012-12-06 05:28:40

标签: 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。

1 个答案:

答案 0 :(得分:-1)

好吧,而不是使用where子句,你可以使用:

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

这可能适合你的情况