2011-08-05 59 views
0

我有兩個類用戶和用戶組編輯和使用表中保存一個特定值的Grails

class User{ 

    String userId 
    String userName 
    UserGroup usergroups 
    static hasMany={usergroups:UserGroup} 
    static belongsTo=UserGroup 
} 

class UserGroup{ 
    String gid 
    static hasMany={users:User} 
} 

現在,我想只需要在用戶組單獨模板修改值,並保存回了database.In我的用戶控制器我寫了

def savegroup = { 
    def userInstance = User.get(params.id) 
    if (userInstance.save(flush: true)) { 
     redirect(action: "show") 
    } 
} 

但它顯示error.please告訴我什麼我需要寫在我的控制器?

+1

savegroup不保存組。你得到並保存了一個userInstance,你甚至不修改userInstance。此外,沒有告訴我們你得到了什麼錯誤,我們無法幫助你。 – Gregg

+0

錯誤500:執行控制器[app.UserController]的操作[savegroup]導致異常:無法在空對象上調用方法save() – sree

+0

這是我得到的錯誤。請告訴我,我需要更改而不是userInstance? – sree

回答

0

您想要修改特定的UserGroup對象。首先你必須確保你傳遞的params.id是你的用戶組的id要改變。那麼你必須獲取正確的用戶組對象而不是用戶實例!

def savegroup = { 
    // make sure your're getting the right id! 
    def userGroup= UserGroup.get(params.id) 
    // check whether the userGroup is not null 
    if (userGroup.save(flush: true)) { 
     redirect(action: "show") 
    } else { 
     // log msg 
    } 
} 
+0

謝謝tou @ hitty5,我選擇了多個值。我使用getAll()方法? – sree

+0

你必須將選定的ID傳遞給你的控制器。你可以打電話給UserGroup.getAll(params.list ['selectedIds']) – hitty5

+0

謝謝hitty .. – sree

相關問題