gpt4 book ai didi

ruby-on-rails - rails 3 find 命令不适用于 postgresql 数据库

转载 作者:行者123 更新时间:2023-11-29 12:01:16 25 4
gpt4 key购买 nike

我在 postgresql 8.4 数据库中使用 ruby​​ 1.9.2 和 rails 3。

我有以下一段 Rails 代码。

@playersonline = Member.find(:all, :conditions => ["loggedIn = ?", true] )

遇到该行时出现以下错误:

PGError: ERROR:  column "loggedin" does not exist

查看它生成的查询显示如下:

SELECT     "members".* FROM       "members"  WHERE     (loggedIn = 't')

loggedIn 列确实存在于我的表中,并且它具有 boolean 数据类型。

另一件奇怪的事情是,当我尝试通过 sql 浏览器仅查询 loggedIn 列时,我得到了同样的错误?即从成员中选择已登录

谢谢

最佳答案

Postgres 默认区分大小写,因此loggedInloggedin 不同。尽管您可以覆盖它,但 Rails 约定变量名称部分由下划线分隔。

我不建议重新发明轮子。进入并更改您可能必须 logged_in 的列名称(以及您的符号后面的任何其他列)。这将防止您遇到更多奇怪的错误。

关于ruby-on-rails - rails 3 find 命令不适用于 postgresql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com