【发布时间】:2016-09-12 14:29:54
【问题描述】:
我对 Rails 比较陌生,并尝试从模型创建对象(我也尝试过在 app/services/ 中创建的服务)。
对象被创建,但是当我访问试图调用对象上的方法的页面时失败(我想使用 .find(id) 并且我收到关于“nil”方法的消息,因此):
当我在一个 nil 方法错误后在控制台中检查对象时,对象已经创建,但所有变量类型都设置为'nil':
如果我从控制台创建同一类的新对象,则该对象具有键入的变量:
Trans(id: integer, transaction_id: integer, sender_id: string, recipient_id: string, created_at: datetime, updated_at: datetime, amount: float)
创建对象的代码是
transaction = Trans.new
transaction.find(id)
我从模型内部的方法中调用它。我通过将所有内容放入服务中并从其中创建服务对象来尝试相同的方法。结果是一样的。
这是否意味着由于某种原因没有调用构造函数/初始化程序?我没有覆盖或更改初始化程序。
这适用于 Rails 4。
我正在尝试创建一个对象,以便查询数据库。
【问题讨论】:
标签: ruby-on-rails ruby