Есть ли способ запустить вид внутри частичного - PullRequest
1 голос
/ 10 декабря 2008

Я знаю, это странно. но я не могу найти другие способы сделать то, что мне нужно. У меня есть контроллер: отчет и представление: отчет. Также у меня есть представление, которое действует как панель инструментов, где я могу видеть несколько зон (частичные). Мне нужно добавить это представление отчета на мою панель, но не знаю как. Это представление отчета использует сложную логику от контроллера и отображает результаты. Как я мог «вставить» (логику + презентацию) существующего представления (отчета) в свою частичку, чтобы я мог использовать ее на своей информационной панели ??

Спасибо. Valve.

Ответы [ 4 ]

1 голос
/ 10 декабря 2008

(надеюсь, я понимаю проблему, здесь ...)

Эта часть казалась значительной:

В этом представлении отчета используются сложные логика от контроллера

Как правило, контроллеры должны быть простыми. Действительно просто. Основное правило - «тонкий контроллер, толстая модель» (Rails Envy сделала несколько занимательных, но полезных скринкастов по теме )

Что произойдет, если вы создадите новую модель (вполне возможно, не наследующую от ActiveRecord :: Base), которая инкапсулирует логику, которую вы хотите доставить в партиал? Тогда различные комбинации контроллер / действие могут доставлять информацию в ваши представления по мере необходимости / необходимости.

Или я полностью упустил (не невозможно!)

0 голосов
/ 20 декабря 2008

Я бы предложил реорганизовать код из контроллера отчетов (если это тот, который содержит «сложную» логику) и поместить его в класс-оболочку, который может использоваться панелью мониторинга и представлением отчета.

0 голосов
/ 11 декабря 2008

Если я не ошибаюсь, вы можете сделать render_component, но в настоящее время это не одобряется.

Это самый простой способ решения вашей проблемы, хотя

0 голосов
/ 10 декабря 2008

У меня была похожая проблема некоторое время назад, когда они устарели render_controller. Единственное решение, которое я тогда нашел, - это использовать ajax, передав параметр странице, которую вы хотите загрузить, в обход макета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...