sql - Rails 4 AR `from` 与 Rails 3 不同吗?

标签 sql ruby-on-rails ruby-on-rails-4 arel with-clause

在rails 3中,如果我写:Model.from('models') arel会生成以下sql:

select "models".* from models

在rails 4中,相同的arel生成以下sql:

select "models".* from 'models', NULL

表名用引号括起来,并附加“, NULL”。如何使用 arel 获得与 Rails 3 中相同的结果?

我利用了原始行为,因此可以针对 postgres 运行相当复杂的递归查询。在rails4中,当postgres到达我给from的单引号前面的值时,它会窒息。

是否有更好的方法来执行递归查询?或者,有没有办法使用 arel 进行查询,使其像以前一样工作?

最佳答案

这似乎与 squeel gem 不兼容(截至今天的主分支)。

编辑我已发送 pull request到斯奎尔的主分支。为我解决了问题。

编辑2:合并到master

关于sql - Rails 4 AR `from` 与 Rails 3 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17728475/

相关文章:

css - View 助手中的 Rails 条件 CSS

ruby-on-rails - #<User::ActiveRecord_Relation:0x007fdd1adb7a00> Rails 的未定义方法 `friendships'

ruby - Net::HTTP 对 HTTPS 请求的响应极其缓慢

python - 从Python sql查询中的总和计算百分比/分数

sql - SQL Server 2012 中的手动全文索引填充时间

ruby-on-rails - FactoryGirl.create 和 create 之间的区别

ruby-on-rails - 如何使用通配符从我的公用文件夹中包含一个 Javascript 文件?

MySQL SELECT 查询将历史记录转换为随时间推移的每周摘要

php - 如何将 PHP 数组保存到 MySQL 数据库,以便我可以搜索数据库中的数组?

ruby-on-rails - Rails和Haml : cant get a form to work