gla*_*kou 1 ruby ruby-on-rails ruby-on-rails-3
有人能指出我在这个陈述中的错误吗?
2011-08-19T20:16:05+00:00 app[web.1]: ActiveRecord::StatementInvalid (PGError: ERROR: argument of AND must be type boolean, not type integer
2011-08-19T20:16:05+00:00 app[web.1]: : SELECT "app_permissions".* FROM "app_permissions" WHERE (user_id = 1,2 AND is_shared = 't' AND app_id = '1')):
2011-08-19T20:16:05+00:00 app[web.1]:
Run Code Online (Sandbox Code Playgroud)
码:
AppPermission.find(:all, :conditions => ["user_id = ? AND is_shared = ? AND app_id = ?", User.find_all_by_facebook_id(@friends_uids).collect { |itm| itm["id"] }, true, @appl_id])
Run Code Online (Sandbox Code Playgroud)
谢谢
错误是在第一个/第二个AND条件下.您可能希望将其更改为:
AppPermission.find(:all,
:conditions => ["user_id in (?) AND is_shared = ? AND app_id = ?",
User.find_all_by_facebook_id(@friends_uids).collect { |itm| itm["id"] },
true, @appl_id])
Run Code Online (Sandbox Code Playgroud)
编辑:你需要IN (?)因为你得到一个集合,而不仅仅是一个值,看看你的日志中的最终查询,你会看到它(1,2)
| 归档时间: |
|
| 查看次数: |
1777 次 |
| 最近记录: |