Много ко многим без грубых - PullRequest
0 голосов
/ 06 мая 2011

Как сделать форму для добавления пользователей, у которых есть роли, я хочу использовать что-то вроде примера на yabe, но без груда ...

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 Ответ

1 голос
/ 07 мая 2011

Вероятно, есть лучший способ сделать это, и мне было бы интересно узнать, но я делаю это так:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...