我对Rails相对较新,并尝试从模型中创建一个对象(我也尝试过在app / services /中创建的服务。)/ p>
对象被创建,但是当我访问试图在对象上调用方法的页面时失败(我想使用.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。
我正在尝试创建一个对象,以便查询数据库。
答案 0 :(得分:0)
虽然我已经工作了好几个小时,但在发布问题后不久我就发现了什么问题。
需要像这样创建对象:
tf.argmin(input, dimension, name=None)
而不是
trans = Trans.find(id)
这对我来说似乎是违反直觉的,但它确实有效。
我希望这可以节省几个小时我失去的人!