我正在Grails(1.3.7)中開發基於組的Web應用程序,並且我擁有的其中一個字段是groupUrl,用於我的組域。其背後的理論是我想給用戶瀏覽到http://www.myapp.com/ {} userDefinedgroupUrl能力試圖讓羣組能夠在Grails中擁有自己的URL。 (類似於您可以如何瀏覽至facebook.com/{username})
我也希望能夠有www.myapp.com/{userDefinedGroupUrl}/$action?/$id?但是,現在我已經實現了它的實現方式,所以我必須將所有其他控制器硬編碼到映射中,以便它們首先匹配並正確執行。
現在,我把它的東西那樣工作
mappings = {
"/group/$action?/$id?"(controller:"group")
"/user/$action?/$id?"(controller: "user")
etc..
"/$groupUrl?/$action?/$id?"(controller: "group")
"/$groupUrl?/events/$action?/id?"(controller: "groupEvents")
}
我認爲它實際上是現在工作的權利(我沒有測試它也確實能),但我不知道是否有一個更好的,更有效的方式來完成這一點。
任何意見,將不勝感激。
謝謝。
你正在做的是正確的做法。 – hvgotcodes
因此,在終於找到一些時間來玩這個遊戲之後,我最終保持了原來發布的方式,並將所有控制器硬編碼到了映射中。我不想在URL中包含「/ g」,並嘗試使用通配符映射,但沒有成功。我認爲現在不會那麼糟糕,所有我的控制器都在那裏,我只需要記住在添加新控制器時添加條目。主要工作(預期)是相應地調整我的操作/過濾器/視圖以強制URL結構。謝謝大家的反饋! – matr07