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

  • MovieZoneET

    MovieZoneET

    22 Aralık 2009
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006
  • tychoadragmire

    tychoadragmi

    20 Mart 2006