【发布时间】:2019-03-13 02:07:05
【问题描述】:
最近我收到了一个在 Ruby (Rails) 上运行的新项目(实际上是 iOS 应用程序的后端)。
我在模型(用户)中有一部分代码:
155: def self.create_access_token(user)
156: verifier.generate(user.id)
157: end
在间接使用该部分代码的某些操作之后,在“乘客”输出中,我看到以下错误会终止一切:
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 对其进行了测试)
我对这种语言完全陌生,我很难弄清楚为什么会出现这个错误。希望有人能帮忙。
谢谢!
【问题讨论】:
-
我对这个假设有疑问:“我完全确定 user.id 包含有效值(我已经用 $stderr.puts 对其进行了测试)”。可以肯定的是,您能否在您的函数中(verifier.generate(user.id) 之前)写下“puts user”并告诉我答案,好吗?
标签: ruby-on-rails ruby