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 animal
devralı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
class Dog < Animal
skip_before_filter :authenticate, :only => :show
end
Filtreler ve miras hakkında daha fazla bilgi için ActionController::Filters::ClassMethods bkz.
Raylar 4: before_filter vs before_acti...
Nasıl Raylar to_json geçersiz kılmak i...
Raylar Yolları Ad ve form_for...
Nasıl Raylar JQuery kullanarak veri ko...
Sınıf ile Raylar form_for seçin sahada...