2012-02-15 68 views
2

我有錯誤混亂playframework錯誤

No route able to invoke action premonitionx.Edits.postRelease with arguments {release=kjkjkj} was found 

在這行代碼

#{form @premonitionx.Edits.postRelease(projectName), id:'editrelease'} 

渲染我editRelease.html文件時,作爲文件是添加和編輯。

我的路線文件

GET /{projectName}/{releaseName}/edit premonitionx.Edits.editRelease 
GET /{projectName}/addrelease   premonitionx.Edits.editRelease 
POST /{projectName}/saverelease  premonitionx.Edits.postRelease 

我的GET和POST方法

public static void editRelease(String company, String projectName, String releaseName) { 
    ReleaseDbo release = new ReleaseDbo(); 
    if(releaseName != null) { 
     release = ReleaseDbo.findRelease(JPA.em(), company, projectName, releaseName); 
    } 

    render(company, projectName, release); 
} 

public static void postRelease(@Valid ReleaseDbo release, String projectName, String lastUrl) { 
      //do the post stuff I want 
    } 

通知可變釋放的唯一引用是在渲染方法調用和我這樣做,在其他位置代碼,以及我的代碼在這裏究竟發生了什麼。玩到目前爲止非常可靠,我的大部分問題都是用戶錯誤,所以這次我的錯誤是什麼,因爲這個問題似乎離真正的問題還很遠?

最後注意:重命名發佈變量傳遞到渲染到xxxx更改錯誤爲xxxx = kjkjkj但發佈變量甚至不是類型字符串! grrrrr,這個必須是1.2.4中的一個bug,就是我能想到的。 projectName變量是一個字符串,應該是該值。

感謝, 院長

回答

3

還行,就是真的我可以說非常愚蠢的。原來,這個問題可以通過重新排序的方法列表中的參數是固定....

變化從

public static void postRelease(@Valid ReleaseDbo release, String projectName, String lastUrl) { 

POST方法

public static void postRelease(String projectName, @Valid ReleaseDbo release, String lastUrl) { 

,然後它的工作原理再次..... ICK .....沒有足夠的魔法去那裏。