Как иметь объект в каждом действии Rails? - PullRequest
0 голосов
/ 15 июня 2011

Я создаю новый сайт в Rails, и в нижней части каждой страницы есть форма подписки на рассылку. (форма является частью шаблона application.html.erb) В действии «index» для домашней страницы у меня есть @email = EmailNewsletterMember.new для предоставления объекта для form_for для работы. Я только сейчас понял, что для того, чтобы эта работа работала, У КАЖДОГО действия для КАЖДОЙ страницы должен быть этот код. Я знаю, что должен быть правильный способ сделать это, может кто-нибудь просветить меня?

Ответы [ 2 ]

4 голосов
/ 15 июня 2011

Попробуйте это

class ApplicationController < ActionController::Base
  before_filter { @email = EmailNewsletterMember.new }
  ...
end

Вы также можете просто бросить EmailNewsletterMember.new прямо в form_for, но только если вам ничего не нужно делать с объектом.

form_for(EmailNewsletterMember.new) do |f|
  ...
0 голосов
/ 15 июня 2011

Вы можете поместить это в before_filter в ApplicationController.

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