NameError(未初始化的常量Api :: V1 :: RegistrationsController :: JsonWebTokenAuthentication):

时间:2018-05-27 11:22:44

标签: ruby-on-rails

我的jsonwebtokenauthentication.rb位于(app / lib.jsonwebtokenauthentication.rb):

class JsonWebTokenAuthentication
 def some_method
    #logic of the method
 end
end

我正在尝试访问我的registrations_controller.rb中的上述JsonWebTokenAuthentication方法(app / controllers / api / v1 / registrations_controller.rb)

class Api::V1::RegistrationsController < Api::V1::BaseController

  def create
      auth_token = JsonWebTokenAuthentication.some_method({user_id: user.id})
    end
  end
end

我们如何使用rails项目中lib文件夹中指定的类方法。

1 个答案:

答案 0 :(得分:0)

首先,如果您想使用RoR框架,则应使用Ruby Style guide为文件命名。另外JsonWebTokenAuthentication看起来更像是module,而不是class对我来说,请您澄清为什么在这里选择class

我建议您将some_method添加到ApplicationController。另一种选择是向json_web_token_authentication.rb添加app/services/,但使用与控制器相同的名称空间。