2013-12-07 6 views
1

У меня есть 2 домена: пользователь & item + соответствующие контроллеры. Нет ссылки (домены не имеют отношения) между пользователем &. Мне нужно создать представление, которое отображает информацию от пользователя &. Например, перечислите всех пользователей и элементы в одном представлении. Как я могу это достичь? Каким будет правильный подход?Один вид и несколько доменов/контроллеров в Grails

спасибо.

ответ

4

Grails использует конвенцию, но это соглашение можно легко сломать.

class SomeController { 

    def list() { 
     def users = Users.list() 
     def items = Item.list() 
     [users: users, items: items] 
    } 
} 

Grails-приложение/просмотров/некоторые/list.gsp

<ul> 
    <g:each in="${users}"> 
    <li>${it.firstName}</li> 
    </g:each> 
</ul> 

<ul> 
    <g:each in="${items}"> 
    <li>${it.name}</li> 
    </g:each> 
</ul> 
+0

В случае, если я делаю приборную панель, где мне нужно, чтобы отобразить данные из нескольких доменов, у меня нет выбора, но сломать MVC? Есть ли другое решение? Пожалуйста, объясни. Спасибо! – MeIr

+0

Как это нарушение MVC? У вас есть модель (элемент, пользователь), у вас есть View (list.gsp), и у вас есть контроллер (SomeController). Или в вашем случае, возможно, DashboardController. Решение, которое я предоставил, отлично работает и не прерывает MVC. Возможно, вам стоит немного поразмыслить над рисунком. – Gregg

+0

У вас есть хорошая статья в виду? Благодаря! – MeIr