NoMethodError(JsonWebToken的未定义方法`encode':模块):
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NoMethodError(JsonWebToken的未定义方法`encode':模块):相关的知识,希望对你有一定的参考价值。
我指的是this blog用于基于令牌的身份验证。我正在尝试访问我的jsonwebtoken.rb
上面博客中指定的app/controllers/api/v1/registrations_controller.rb
方法。
class Api::V1::RegistrationsController < Api::V1::BaseController
def create
auth_token = JsonWebToken.encode({user_id: user.id})
end
end
end
我的jsonwebtoken.rb
文件位于上面提到的博客中指定的app/lib
文件夹中。我不知道如何在我的不同控制器中使用jsonwebtoken.rb
的方法。
我还添加了config.autoload_paths << Rails.root.join('lib')
来自动加载config/application.rb
中的文件。请帮我。在某个地方,我错过了这个概念。
我认为问题是在文件命名约定中看到你的文件名是jsonwebtoken.rb
但是类是JsonWebToken
所以文件名将json_web_token.rb
看看控制台
2.3.4 :019 > "JsonWebToken".underscore
=> "json_web_token"
Rails UnderScore
方法。
进行任何更改后重新启动服务器。
这是RESTful JSON API With Rails 5非常好的教程,你可以检查一下。
以上是关于NoMethodError(JsonWebToken的未定义方法`encode':模块):的主要内容,如果未能解决你的问题,请参考以下文章
NoMethodError:AjaxDatatablesRails:Module 的未定义方法“配置”
NoMethodError:升级到 rake 11 后未定义方法“last_comment”
NoMethodError: nil:NilClass / 'additional_paths' [capistrano+webpacker] 的未定义方法“+”