5 Mart 2010, Cuma
Nasıl Raylar 404 yönlendirmek?
'Sahte' Raylar 404 sayfası. PHP, sadece hata kodu ile ilgili bir başlık gibi göndermek istiyorum:
header("HTTP/1.0 404 Not Found");
Nasıl bu Raylar ile yapılır?
CEVAP
13 ŞUBAT 2011, Pazar
404 kendinizi işlemek yok, nedeni yok; Raylar bu işlev zaten inşa etti. Eğer bir 404 sayfası göstermek istiyorsanız, bu gibi ApplicationController
render_404
yöntem (ya da dediğim gibi not_found
) oluşturmak:
def not_found
raise ActionController::RoutingError.new('Not Found')
end
Raylar da ** 9, ActiveRecord::RecordNotFound
aynı şekilde işler.
Bu iki şeyi daha iyi yapar:
1) Raylar kullanıyor' rescue_from
işleyicisi 404 sayfa işlemek için inşa, ve
2) kod yürütülmesini, sana güzel şeyler yapmasına izin vermek olabilir:
user = User.find_by_email(params[:email]) or not_found
user.do_something!
çirkin koşullu ifadeleri yazmak zorunda kalmadan.
Bir bonus olarak, aynı zamanda çok kolay testler taşıyınız. Rspec entegrasyon testi örneğin,:
# RSpec 1
lambda {
visit '/something/you/want/to/404'
}.should raise_error(ActionController::RoutingError)
# RSpec 2
expect {
get '/something/you/want/to/404'
}.to raise_error(ActionController::RoutingError)
Bunu Paylaş:
Nasıl Raylar geçiş veritabanında bir s...
Nasıl ve bash ile bir dosya için hem s...
Nasıl (dişliler) varlık boru hattı ile...
Raylar Geçiş bir dosyayı geri almak iç...
Nasıl Raylar ile ilgili 4 kullanmak iç...