SORU
5 Mart 2010, Cuma


Raylar atla before_filter

İsimler ve nesneler netlik aşkına basitleştirilmiş vardır. Temel kavram aynı kalır.

Üç denetleyicileri var:*, *4 dog horse. Bu denetleyicileri tüm kumanda animaldevralır. Kumanda animal gibi bir kullanıcının kimliğini doğrulayan önce bir filtre var:

before_filter :authenticate

def authenticate
  authenticate_or_request_with_http_basic do |name, password|
    name == "foo" && password == "bar"
  end
end

dog show eylem tüm kullanıcılara açık erişim (kimlik doğrulama atla) gerekiyor.

Eğer kimlik doğrulaması dog için ayrı ayrı yazacak olsaydım, böyle bir şey yapabilirim:

before_filter :authenticate, :except => :show

Ama dog animal, devraldığı beri denetleyicisi özgü eylemleri için erişimi yok. animal denetleyici :except => :show ekleme dog, cat horse aynı zamanda show eylem için kimlik doğrulama atlamak olmaz. Bu istenen bir davranış değildir.

Nasıl hala animal objektifi dog show eylem için kimlik doğrulamasını atlayabilir miyim?

CEVAP
5 Mart 2010, Cuma


class Dog < Animal
  skip_before_filter :authenticate, :only => :show
end

Filtreler ve miras hakkında daha fazla bilgi için ActionController::Filters::ClassMethods bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010