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

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • The White House

    The White Ho

    21 Ocak 2006