Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 运行时错误:错误mrrelation“;tablename";不存在_Ruby On Rails_Ruby_Ruby On Rails 2_Rails Postgresql_Pg - Fatal编程技术网

Ruby on rails 运行时错误:错误mrrelation“;tablename";不存在

Ruby on rails 运行时错误:错误mrrelation“;tablename";不存在,ruby-on-rails,ruby,ruby-on-rails-2,rails-postgresql,pg,Ruby On Rails,Ruby,Ruby On Rails 2,Rails Postgresql,Pg,轨道-2.3.8 数据库-博士后(9.2) 活动记录查询无法在双引号ie中生成tablename # this ran fine Table.find_by_sql('Select * from "Table" Limit 1') Sql generated - Select * from "Table" Limit 1 但问题来了 Table.find(:first) Sql generated - Select * fro

轨道-2.3.8 数据库-博士后(9.2)

活动记录查询无法在双引号ie中生成tablename

   # this ran fine
      Table.find_by_sql('Select * from "Table" Limit 1')

      Sql generated -    Select * from "Table" Limit 1
但问题来了

      Table.find(:first)
      Sql generated -    Select * from Table Limit 1 (Clearly noticed that table not in double quotes)
活动记录显示错误

  ActiveRecord::StatementInvalid: RuntimeError: ERROR
  C42P01  Mrelation "Table" does not exist 
  P15 Fparse_relation.c L864    
  RparserOpenTable: SELECT * FROM Table  LIMIT 1

我觉得postgresql适配器无法以双引号生成tablename。

我从来没有机会在Postgres上工作。但我有一个解决办法。尝试如下:

table_name = '"Table"'
table_name.find(:first)

我没有在我的机器上尝试,因为我没有必要的设置。我希望它能起作用。

需要查看您的模型定义和迁移,以确定查询中发生了什么。我每天都使用postgres适配器,而且我在引用表名方面没有遇到任何问题。对于每个模型,我都面临着这个问题。当我尝试在rails控制台中编写这些查询时。每个模型都有错误。“table”不是postgres中的保留字吗?如果是的话,你不需要用引号括起来吗?对不起,我会指定它的。这只是表名。