Squeel 在 Rails 控制台中工作,但不在控制器中。错误:nil:NilClass 的未定义方法“方法”

Posted

技术标签:

【中文标题】Squeel 在 Rails 控制台中工作,但不在控制器中。错误:nil:NilClass 的未定义方法“方法”【英文标题】:Squeel working in Rails Console but not in Controller. Error: undefined method `method' for nil:NilClass 【发布时间】:2014-02-19 06:13:57 【问题描述】:

我正在使用 Squeel,但遇到了一个奇怪的问题。以下行在 Rails 控制台中运行良好,但在模型的控制器中运行时出错!

Issue.joinsproperty.users.whereproperty.users.id == 1

发布belongs_to 属性,并且属性has_and_belongs_to_many 用户。我正在尝试加载与 user_id == 1 相关的所有问题。

当我在 IssuesController 中运行该行时,我收到错误:“undefined method `users' for nil:NilClass”,但它在 Rails 控制台中有效。怎么了?

附:我正在运行 Rails 4.0.3、Ruby 2.0.0 和 Squeel 1.1.1

【问题讨论】:

【参考方案1】:

试试这个

my_properties = Property.whereuser_id == 1.selectissue_id
Issue.whereid.in(my_properties)

【讨论】:

以上是关于Squeel 在 Rails 控制台中工作,但不在控制器中。错误:nil:NilClass 的未定义方法“方法”的主要内容,如果未能解决你的问题,请参考以下文章

Coffeescript不在带有引导程序的rails中的模态窗口中工作

pyspark 代码在控制台中工作,但不在 zeppelin 中

网格视图不在rails中工作

带有 Angular 和 Express 的 CORS - 在 Postman 中工作,但不在浏览器中

Web Api 2.0 在邮递员中工作但不在 HTML 页面中

在 Rails 中的控制台无法使用 Actioncable 广播