2012-02-13 105 views
1

這必須是在URLMappings.groovy一個簡單的配置,但我不斷收到一個404的Grails:URL映射更改控制器名

基本上,我想換一個控制器的名稱。例如,我們有控制器名稱Content_pdfs_data_etcController.groovy,可怕的URL,我試過

static mappings = { 
    "/mdata/$action?"(controller: "content_pdfs_data_etc", action: 'index') 

    "/$controller/$action?/$id?"{ 
     constraints { 
      // apply constraints here 
     } 
    } 
    "/"(view:"/index") 
    "/"(controller:"home") 
    "500"(view:'/error') 
} 

在控制器中的所有動作應被重定向以及(例如):

/MDATA /展示 - > content_pdfs_data_etc /顯示

/MDATA /更新 - > content_pdsf_data_etc /更新

感謝。

+0

BTW什麼是背後的原因保持控制器名稱Content_pdfs_data_etcController – 2012-02-14 04:45:05

+0

這又是開發商名爲控制器,客戶回來了,問到改變的URL。我知道我可以重命名控制器/視圖目錄。 – ibaralf 2012-02-14 06:33:02

+0

是的,如果你能控制代碼,最好重命名控制器。 – 2012-02-14 10:24:33

回答

3

感謝您的回答安德魯。我實際上已經想出了交換映射的順序與默認的問題。我結束了:

"/$controller/$action?/$id?"{ 
    constraints { 
    // apply constraints here 
    } 
} 
"/mdata/$action?/$id?" (controller: "content_pdfs_data_etc") 
3

嘗試取出硬編碼的作用,這應該允許$操作變量做它的映射法寶:

"/mdata/$action?"(controller: "content_pdfs_data_etc")