Как визуализировать партиалы от несвязанных контроллеров в одном представлении .... почти в стиле Amazon - PullRequest
1 голос
/ 20 ноября 2011

Как мы можем рендерить множество партиалов с разных контроллеров в одно представление?Локальные переменные каждого частичного вычисляются отдельно в разных и независимых контроллерах.

Что мне действительно нужно, чтобы сделать вещи более конкретными, это домашний макет, и в этом макете, который имеет динамическое содержимое, есть частичный, который толькообрабатывает новостные объявления по всему сайту, и они независимо обновляются.

Я знаю быстрый взлом, такой как:

render :partial => '/news', :locals=> {@news = News.last}

, но я хочу что-то более "правильное".Как я уже читал: рендеринг шаблонов, но я не уверен, как именно он работает в Rails 3.1.

Любая помощь будет высоко оценена!

1 Ответ

1 голос
/ 20 ноября 2011

2.2.3 Визуализация шаблона действия с другого контроллера Что если вы хотите визуализировать шаблон с совершенно другого контроллера, чем тот, который содержит код действия? Вы также можете сделать это с помощью render, который принимает полный путь (относительно app / views) шаблона для визуализации. Например, если вы запускаете код в AdminProductsController, который находится в app / controllers / admin, вы можете отобразить результаты действия в шаблоне в app / views / products следующим образом:

визуализация 'продукты / шоу' Rails знает, что это представление принадлежит другому контроллеру из-за внедренного символа слеш в строке Если вы хотите быть явным, вы можете использовать параметр: template (который требовался в Rails 2.2 и более ранних версиях):

render: template => 'products / show'

Источники: http://guides.rubyonrails.org/layouts_and_rendering.html#using-content_for

Должен был прочитать более подробно.

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