Rails'teki belirli eylemler için özgünlük belirtecini nasıl yok sayabilirim?


168

Özgünlük belirtecini denetlemek istemediğim belirli bir eylemim olduğunda, Rails'e denetlemeyi atlamasını nasıl söyleyebilirim?

Yanıtlar:


231

Ray 4'te:

skip_before_action :verify_authenticity_token, except: [:create, :update, :destroy]

Ve Raylar 3:

skip_before_filter :verify_authenticity_token

Önceki sürümler için:

Bireysel işlemler için şunları yapabilirsiniz:

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

Tüm bir denetleyici için şunları yapabilirsiniz:

skip_before_action :verify_authenticity_token

belirli bir denetleyici ve belirli eylem için şunu kullanın: skip_before_filter: verify_authenticity_token,: only =>: benim_korumam_etimli_orum. Buraya cevabı bulmaya geldim: Bu korkunç bir fikir mi? Bunu yapmak istiyorum çünkü bir ajax yanıtı benim oturum yiyor.
Danny

9
Raylar 5.2 için kullanın skip_forgery_protection. API dokümanlarına bakın .
Aaron Breckenridge

27

In Rails4 kullanmak skip_before_actionile exceptveya 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.