这与read_sql密切相关,但这个问题还不够深入。
根据上面的问题,我有一个复杂的查询是从我的一个ActiveRecord模型运行的,它会生成一种报告'。它基本上是主要模型属性的巨大表格,以及相关表格中的一些其他属性。
查询本身有效。我已经验证了生成的SQL正确执行,当粘贴到SQL终端时,我得到结果(和我想要的列)。不幸的是,模型中有专有信息,我无法在这里分享,而查询过于复杂,无法进行模糊处理。但是要了解我在做什么,这是我的ActiveRecord查询的开始:permits = Permit.select('*').joins("LEFT JOIN crosstab (' ....
我已将ActiveRecord Query(上图)粘贴到Rails控制台中,不仅完美执行;但是可以查询其他属性(不是我的应用程序中的任何模型或关联),只是没问题 - 正是我想要的:
>> permits.first.applicant_name
"Gordon Ramsay"
问题是当我在rails app中执行代码(从浏览器执行)时,我可以访问每个许可证及其相关模型的属性,但是许可证上的附加选择会引发NoMethodError。
我无法理解为什么Rails控制台会让我插入命令并工作,但是当我仅使用我的应用程序的方法运行相同的代码时,会引发错误。
上面的问题似乎与此密切相关,并且接受的答案建议在控制台中尝试一些事情;但为什么控制台和Rails应用程序本身会以不同的方式处理相同的代码(因为我假设Rails控制台 是Rails应用程序的一个实例?
有谁知道: