我创建了一个带时事通讯控制器的模型时事通讯:
class NewslettersController < ApplicationController
def signup
@signup=Newsletter.new(params[:newsletter])
@signup.save
end
end
我想把它叫做layouts / application.html.erb 我创建了一个部分时事通讯/ _signup:
<%= form_for @newsletter, :html => {:multipart => true} do |f| -%>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<%= f.submit 'Go!' %>
<% end -%>
但是当我使用render:partial =&gt; “newsletters / signup”我为NilClass:Class获得了未定义的方法`model_name'。
什么错了? (Rails 3)
答案 0 :(得分:1)
这里有很多困惑:
如果您在应用程序布局中添加了某些内容,则应该为所有页面呈现它。所以应该在任何地方创建变量 - &gt;那是application_controller的工作。
在您的application_controller.rb中,添加:
before_filter :mailing_list
def mailing_list
@newsletter = Newsletter.new
end
并删除您的简报控制器中signup
的定义。