【发布时间】:2014-12-09 20:07:16
【问题描述】:
我最近将 Rails 升级到 Rails 4.1.6。
这个查询曾经有效:
@user = User.find(:all, :conditions => { :name => 'batman' })
现在我收到此错误消息:
Couldn't find all Users with 'id': (all, {:conditions=>{:name=>"batman"}}) (found 0 results, but was looking for 2)
当我检查日志时,我可以看到 rails 正在尝试执行完全不同的查询:
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" IN ('all', '---
:conditions:
:name: batman
')
看起来,它正在尝试获取 ID 为“all”和“{:conditions=>{:name=>"batman"}}”的所有用户。请帮忙。
更新:
我真正的问题是我想获得一个特定的用户并将他的汽车添加到其中,只有蓝色的汽车。例如这是我的查询,用户 id 是 20。
@user = User.joins(:cars).find(20, :cars => {:color => "blue"})
但我收到此错误:
无法找到所有具有 'id' 的用户:(20, {:cars=>{:color=>"blue"}}) (找到 41 个结果,但正在寻找 2 个)
【问题讨论】:
标签: sql ruby-on-rails ruby find conditional-statements