Как игнорировать токен аутентификации для определенных действий в Rails?

Когда у меня есть конкретное действие, на которое я не хочу проверять токен аутентификации, как я могу сказать Rails, чтобы пропустить его проверку?

Ответ 1

Для отдельных действий вы можете:

protect_from_forgery :only => [:update, :delete, :create]
#or
protect_from_forgery :except => [:update, :delete, :create]

Для всего контроллера вы можете:

skip_before_action :verify_authenticity_token

И Rails 3.x требует:

skip_before_filter :verify_authenticity_token

Ответ 2

В 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