Как может частичное обнаружение, если это отрендерено почтой? - PullRequest
6 голосов
/ 05 апреля 2011

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

Определение того, существует ли сеанс, кажется небольшой проблемой.Внутри частичного, вызову define? (Session) всегда кажется, что он возвращает true во время рендеринга почты (это ошибка?), Но попытка доступа к "session" любым способом приводит к исключению "undefined method".* На данный момент я заставляю свою почтовую программу использовать переменную экземпляра @for_mailer, чтобы сигнализировать эту часть для рендеринга по-разному, но это выглядит не очень элегантно.Есть ли какой-то простой способ для частичного выяснить, отрисовывается ли он почтовой программой или нет в контексте веб-запроса?

1 Ответ

1 голос
/ 11 октября 2013

I также создаст две частичные для этого , но здесь также есть альтернативное решение.

Предполагая, что оно исходит от другого контроллера и действия, вы можете проверить параметры [: controller] и params [: action].

Если вы закончите делать это несколько раз, вы, вероятно, получите больше кода, чем просто переписываете партиал.Чем вы хотите отличаться между двумя презентациями?

...