Aranabilir eklenti varsayılan arama sayfasını devre dışı bırakmaya çalışıyorum (http://localhost/searchable/), ancak bunu yapmanın bir yolunu bulamadım. Bunun nasıl yapılabileceğini herkes biliyor mu, tercihen yasal bir şekilde, ama gerektiğinde hileye başvurmak?Tanrılar devre dışı bırakılabilir Aranabilir eklenti varsayılan arama sayfası?
5
A
cevap
4
Genellikle hata kodu işleyicilerini denetleyiciye yeniden yönlendiriyorum, böylece görüntüyü oluşturmadan önce günlüğe kaydetme veya herhangi bir şeyi yapabilirim.
class UrlMappings {
static mappings = {
"/searchable/$action?"(controller: "errors", action: "urlMapping")
"/$controller/$action?/$id?" { }
"/"(view:"/index")
"403"(controller: "errors", action: "accessDenied")
"404"(controller: "errors", action: "notFound")
"405"(controller: "errors", action: "notAllowed")
"500"(view: '/error')
}
}
nerede ErrorsController şöyle görünür: Burada da onu kullanabilirsiniz
class ErrorsController {
def accessDenied = {}
def notFound = {
log.debug "could not find $request.forwardURI"
}
def notAllowed = {}
def urlMapping = {
log.warn "unexpected call to URL-Mapped $request.forwardURI"
render view: 'notFound'
}
}
ve grails- içinde accessDenied.gsp, notFound.gsp ve notAllowed.gsp oluşturmanız gerekir Uygulama/hata
Özel eşlemesine 'gizli' bir denetleyici göndererek, beklenmedik bir şekilde giriş yapabilir, ancak hala varlığını gizlemek için 404 sayfasını görüntüleyebilirsiniz.
Bu iyi bir fikir, sonra sadece başka bir kaynak bulunamadı hatası gibi görünmesini sağlayabilirsiniz. Bunu sevdim! Eklentiyle birlikte gelenin üzerine yazmak için /views/searchable/index.gsp yarattım, ama bundan kurtulacağım ve bu şekilde yapacağım. Teşekkürler! –
@Burt - Başlangıçta UrlMapping'i devre dışı bırakmak/kaldırmak için bir yol var mı? Bu çok daha şık bir çözüm olurdu. –
Muhtemelen onu kaldırabilirsiniz, ama basit bir düzeltme olacağından şüpheliyim. Bir özellik talebi için iyi bir aday gibi görünüyor. Denetleyici ad alanları yaptığımızda muhtemelen uygulanabilmektedir (geçici olarak v2.2). –