最近我收到了一个适用于Ruby(Rails)的新项目(实际上是iOS应用程序的后端)。
我在模型(用户)中有一部分代码:
155: def self.create_access_token(user)
156: verifier.generate(user.id)
157: end
在间接使用该部分代码的某些操作之后,在“Passenger”输出中,我看到以下错误终止了所有内容:
TypeError (no implicit conversion of nil into String):
app/models/user.rb:156:in `create_access_token'
app/models/user.rb:139:in `access_token'
app/controllers/mailing_controller.rb:68:in `send_charts'
verifier
是ActiveSupport::MessageVerifier
我完全相信user.id
包含有效值(我已使用$stderr.puts
对其进行了测试)
我对这种语言完全不熟悉,我很难弄清楚为什么会出现这种错误。希望有人可以提供帮助。
谢谢!
答案 0 :(得分:0)
嗯,可能是user_id为零。无论如何,请查看rubyonrails api并验证生成方法。
我们实际上可以挖掘内部生成方法。使用pry-rails gem可以轻松调试。