2

我想在我网站的每个页面的页脚中放置一个简单的电子邮件注册表单。所以我创建了一个订阅脚手架并做了以下部分:

<%= form_for @subscription, :url => {:controller => 'subscriptions', :action => 'create'} do |f| %>
 <div class="input-append">
   <%= f.text_field(:email, :id => "appendedInputButton", :placeholder => 'Subscribe', :class => 'span4') %><button class="btn" type="submit" name="commit">Subscribe</button>
 </div>
<% end %>

但是,尽管指定了控制器和操作,但我收到以下错误:

undefined method `model_name' for NilClass:Class

该表单在订阅/新页面上工作正常,但我如何制作它以便我可以从任何控制器和任何页面提交表单,而不必在任何地方定义 @subscription?

4

1 回答 1

3

最简单的事情就是简单地改变:

<%= form_for @subscription ... 

到:

<%= form_for Subscription.new ...

而且,就像已经指出的那样,我怀疑您需要 url 选项。

于 2013-01-22T20:52:28.997 回答