RoR: Лучший способ создать страницу типа «панель управления»? - PullRequest
3 голосов
/ 25 ноября 2008

В разделе администрирования веб-сайта, который я создаю, я хотел бы собрать страницу панели инструментов или страницу типа «быстрый просмотр», где можно просмотреть самые последние изменения / дополнения / и т. Д. В нескольких различных областях.

Я подумал, что лучший способ сделать это - использовать партиалы, каждый из которых должен содержать разметку для данных, которые мне нужно отобразить.

У меня вопрос, это лучший подход? и если да, то как мне отделить логику и представление этих частичек? Например, как я могу поместить логику в контроллер приборной панели, но сохранить представление в частичном rhtml?

Ответы [ 2 ]

2 голосов
/ 25 ноября 2008

Частично это определенно путь, особенно когда вы можете передавать в них произвольные данные, чтобы заставить их что-то делать. Чтобы конкретно ответить на проблему логического разделения, вы должны использовать:

<%= render :partial => "name_of_partial", :locals => { :some_var => @data_from_model } %>

Тогда внутри вашей части вы получите доступ к @data_from_model через переменную some_var.

1 голос
/ 25 ноября 2008

Контроллер должен нести ответственность за получение данных, которые необходимо представить (и, как правило, неявно, передачу их в представление). Не создавайте HTML здесь.

Конечно, в частичках вы разберетесь с презентацией - вы можете сделать это списком, графиком, виджетом визуализации Google, одним числом с 40-точечным шрифтом, чем угодно.

<%= render :partial => 'new_users_last7days', ;locals => { :new_user_count => @new_users.size } %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...