Как организовать общие партиалы в рельсах 3 - PullRequest
2 голосов
/ 28 января 2012

Мне любопытно, как люди организуют свои общие части в этом конкретном случае.В моем приложении индекс списков может быть отображен либо по адресу / lists или / users /: id / lists urls.По сути, либо просматривая все списки, либо мои списки.

Оба связанных представления /app/views/listings/index.html.haml и /app/views/users/listing/index.html.haml в настоящее время делятсячастичный, который делает основную часть рендеринга.На самом деле все, кроме заголовка, заголовка, обратной ссылки и некоторого текста, если нет списков.

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

Ответы [ 2 ]

1 голос
/ 28 января 2012

Если это частичное, в котором конкретно указан listings, то я бы проголосовал за его добавление в app/views/listings/.Если он обрабатывает более сложный или детализированный набор данных, то он должен помещаться в общую папку (я видел, что она называется shared/, common/ или widgets/, но это просто вопрос предпочтений).

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

0 голосов
/ 28 января 2012

Предполагая, что ваш контроллер наследуется от ApplicationController, и что ваш частичный элемент имеет имя _listing.html.erb, тогда вы можете поместить файл в app/views/application/_listing.html.erb, и он будет отображаться с render "listing".

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

Размещение часто используемых партиалов в app/views/shared также является правильным подходом, но вам необходимо использовать полныйпуть при рендеринге, например render "shared/listing".

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