如何在每个Rails操作中拥有一个对象?

时间:2011-06-15 04:58:13

标签: ruby-on-rails

我正在Rails中建立一个新站点,并且在每个页面的页脚都有一个简报注册表单。 (该表单是application.html.erb模板的一部分)在主页的“index”操作中,我@email = EmailNewsletterMember.newform_for提供了一个对象。我刚才意识到,为了完成这项工作,每个页面的每个动作都必须有这个代码。我知道必须有一个正确的方法来做到这一点,有人可以开导我吗?

2 个答案:

答案 0 :(得分:4)

试试这个

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

您也可以直接将EmailNewsletterMember.new直接投入form_for,但前提是您无需对该对象进行任何其他操作。

form_for(EmailNewsletterMember.new) do |f|
  ...

答案 1 :(得分:0)

您可以将其放在before_filter中的ApplicationController