Rails 5.1.3 API使用Devise Auth Token自定义渲染

时间:2017-10-26 15:16:43

标签: devise ruby-on-rails-5 rails-api

我正在使用Rails 5.1.3开发API,并且我使用gem devise_token_auth进行身份验证。一切正常,直到我需要自定义发生错误后重新呈现的JSON,例如客户端发送带有无效电子邮件的请求。

所以,为此,我从

重新定义了我的路线
mount_devise_token_auth_for 'User', at: 'auth'

mount_devise_token_auth_for 'User', at: 'auth', controllers: {
  registrations: 'devise/registrations'
}

并创建了一个文件app/controllers/devise/registrations_controller.rb,如下所示:

class RegistrationController < DeviseAuthToken::RegistrationController
  def render_create_error
    render 'devise/registrations/create_error.json'
  end

  def render_create_success
    super
  end
end

现在,所有依赖RegistrationController的请求都会收到此错误:

ActionView::Template::Error:
   undefined method `protect_against_forgery?' for #<#<Class:0x007f84cfab70d8>:0x007f84cec53e10>

我应该怎么做才能解决此错误?

提前致谢!

0 个答案:

没有答案