Bir not uygulamasında dizin sayfası için modeli yerleştirmenin doğru yolu nedir? Öntanımlı olarak IndexController yok, bunun için ve bunun modeline giriş yapmak için başka bir mekanizma var mı?Topaklar için en iyi yöntemler Dizin sayfası
cevap
Bunun doğru yol olduğunu iddia etmeyeceğim, ancak işleri başlatmak için bir yoldur. Bir denetleyicinin varsayılan olması çok fazla zaman almaz. UrlMappings.groovy için bir eşleme ekleyin:
class QuoteController {
def index = {
...
}
}
ne yüklemek istediğiniz zaten başka eylemin parçası ise sadece yönlendirme:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"500"(view:'/error')
"/"
{
controller = "quote"
}
}
}
Sonra artık varsayılan denetleyiciye bir indeks eylemi eklemek
def index = {
redirect(action: random)
}
Ya da gerçekten bazı yeniden, gidiş bir hizmet mantığı koymak almak için:
İyi yanıt: Dizin sayfası için bir model doldurmanız gerekiyorsa, düz bir index.gsp'yi bir dizin denetleyicisine kullanmanın zamanı gelmiştir.
Kötülük yanıtı: Denetleyicisini '*' olan bir filtre oluşturursanız, statik sayfalar için bile yürütülür.
Ed T'nin yukarıdaki örneğini işe yaramadı. Belki de o zamandan beri Grails değişti?
bazı denemeler sonrave bazı net altüst ben UrlMappings.groovy
bu ile sona erdi:
"/"(controller: 'home', action: 'index')
Benim HomeController şöyle görünür:
class HomeController {
def index = {
def quotes = = latest(Quote.list(), 5)
["quotes": quotes, "totalQuotes": Quote.count()]
}
}
Ve yılında
, birindex.gsp
var dosya. Bu
index.gsp
dosyasını gereksiz görüntülemelere dönüştürür, ben de kaldırdım. Sadece UrlMappings.groovy için
"/index.gsp"(uri:"/")
eklemek için grails 1.3.6 yılında
benim için iyi çalıştı. Daha önce açıklandığı gibi yeni bir denetleyici ve eşleştirmeler eklemekle aynı etkiye sahiptir. `: Ben` UrlMappings muhtemelen okumalıymışım "/" { "alıntı" denetleyici} düşünüyorum
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
"/index.gsp"(uri:"/")
}
}
uri ile yeniden yönlendirme UrlMappings'te çalışıyor mu? Bunu denedim (biraz farklı bir kullanım için) ve yapmadı. Denetleyicinin boş olduğu bir hatayı aldım. Bir denetleyiciden yönlendirmek için başvurmalıydım. – mcv
:
Aşağıda benim tam UrlMappings.groovy olduğunu. "=" Değerini ":" olarak değiştirene kadar benim için çalışmadı. –
'statik defaultAction =" random "' - dizin eyleminden yeniden yönlendirme yerine, defaultAction statik alanını denetleyiciye değer olarak istenen eylem adıyla ekleyebilirsiniz. – topr