我正在使用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>
我应该怎么做才能解决此错误?
提前致谢!