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

  • CHISTOSITOJAJA

    CHISTOSITOJA

    27 HAZİRAN 2010
  • Christian Atlas

    Christian At

    26 Mart 2009
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008