Как игнорировать токен аутентификации для определенных действий в Rails?
Когда у меня есть конкретное действие, на котором я не хочу проверять токен аутентификации, как я могу сказать Rails пропустить его проверку?
2 ответа
В Rails 4:
skip_before_action :verify_authenticity_token, except: [:create, :update, :destroy]
И рельсы 3:
skip_before_filter :verify_authenticity_token
Для предыдущих версий:
Для отдельных действий вы можете сделать:
protect_from_forgery :only => [:update, :destroy, :create]
#or
protect_from_forgery :except => [:update, :destroy, :create]
Для всего контроллера вы можете сделать:
skip_before_action :verify_authenticity_token
В Rails4 вы используете skip_before_action
с except
или же only
,
class UsersController < ApplicationController
skip_before_action :verify_authenticity_token, only: [:create]
skip_before_action :some_custom_action, except: [:new]
def new
# code
end
def create
# code
end
protected
def some_custom_action
# code
end
end