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

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013
  • SuicideSheeep

    SuicideSheee

    8 Ocak 2012