2011-05-06 25 views
0

如何使一個形式添加用戶,其中有角色,我想使用類似在矢部的例子,但沒有污物......多對多無污物

User: 
@ManyToMany(cascade=CascadeType.ALL) 
public Set<Role> roles = new HashSet(); 

Role: 
@ManyToMany(mappedBy="roles") 
public Set<User> users = new HashSet<User>(); 

#{field 'user.email'} 
<input id="${field.id}" name= "${field.name}" class="element text" maxlength="255" size="20" value="${field.value}"/> 
#{/field} 
... 
<select multiple name="roles"> 
#{field 'user.roles'} 
<option value="admin">admin</option> 
<option value="user">user</option> 
#{/field} 
</select> 

回答

1

有可能是一個更好的辦法做到這一點,我會很感興趣的是找到了,但我不喜歡這樣寫道:

<div class="field"> 
    <select name="user.roles.id" multiple> 
    %{ models.Role.all().fetch().sort{ it.toString() }.each() { }% 
    %{ selected = false; user?.roles.each() { f -> if (f.id == it?.id) selected = true; } }% 
    <option value="${it?.id}"${selected ? 'selected'.raw() : ''}>${it}</option> 
    %{ } }% 
    </select> 
</div> 
+0

非常感謝你),我用jQuery惡搞做到了,而無需使用選擇,我認爲這將是巨大的寫幫手,當我有更多時間時我會考慮它) – Pavel 2011-05-09 20:48:15