Rails рендерится частично (с кодом действия) - PullRequest
2 голосов
/ 25 января 2012

Есть ли способ отобразить частичное представление с сопровождающим кодом в рельсах?

Например: я хочу иметь возможность создать частичное представление, которое будет отображать 5 лучших foobars на моем сайте.Эта часть нуждается в сопровождающем коде для извлечения некоторых foobars из базы данных, ранжирования их в соответствии с алгоритмом, а затем вывода представления с верхними 5.

Я хочу иметь возможность включить эту часть на любую интересующую меня страницупредпочтительно просто используя что-то вроде

<%= render :action => "top_five_foobars" %>

Это выполнимо?Я привык к asp.net mvc, где вы можете создать действие, которое запускает некоторый код и возвращает частичное, но кажется, что в rails он возвращает просто шаблон ...

Ответы [ 2 ]

5 голосов
/ 09 февраля 2013

Если Google попал сюда, возможно, вы ищете клеток

Ячейки являются компонентами вида для Rails. Это мини-контроллеры с их собственный стек MVC, может вызывать логику и визуализировать представления. Приносят с собой вернуться к слою представления ООП в Rails и создать написание многоразовых портлетов для ваши приложения весело.

Вам нужно что-то вроде корзины покупок, которая появляется почти на каждая страница вашего приложения.

Вы бы не использовали частичное и вспомогательное, не так ли?

2 голосов
/ 20 сентября 2012

Возможно, это не самый чистый способ, но я сделал то, что я создал вспомогательный метод в Application Controller, который извлекает верхние 5 foobars. Затем я вызываю этот метод в представлениях. Я также кэшировал ту часть представления, которая показывает результаты.

...