NoMethodError(JsonWebToken的未定义方法`encode':模块):

问题描述 投票:1回答:1

我指的是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中的文件。请帮我。在某个地方,我错过了这个概念。

ruby-on-rails jwt
1个回答
2
投票

我认为问题是在文件命名约定中看到你的文件名是jsonwebtoken.rb但是类是JsonWebToken所以文件名将json_web_token.rb看看控制台

2.3.4 :019 > "JsonWebToken".underscore
 => "json_web_token" 

Rails UnderScore方法。

进行任何更改后重新启动服务器。

这是RESTful JSON API With Rails 5非常好的教程,你可以检查一下。

© www.soinside.com 2019 - 2024. All rights reserved.