ruby-on-rails - 如何从任何 Controller 提交表单 - Rails?

标签 ruby-on-rails rails-activerecord

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

<%= 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 %>

但是尽管指定了 Controller 和操作,我还是收到了以下错误:
undefined method `model_name' for NilClass:Class

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

最佳答案

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

<%= form_for @subscription ... 

至:
<%= form_for Subscription.new ...

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

关于ruby-on-rails - 如何从任何 Controller 提交表单 - Rails?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14467505/

相关文章:

ruby-on-rails - 等同于 foo_ids 的 find_each?

ruby-on-rails - 在 Heroku Rails 4 上设置 PostgresQL

ruby-on-rails - Mac OSX 10.5 "good enough"上是否默认安装了用于 Rails 开发的 Ruby?

javascript - Ruby on Rails/Javascript - 如何判断内容是否动态生成?

ruby-on-rails - 如何验证 Rails 模型中的两个值不相等?

ruby-on-rails - 时间戳列是否意味着响应 bool 方法调用?

ruby-on-rails - 映射,收集,选择和采摘之间哪个更快?

ruby-on-rails - 使用 Dokku + nginx + unicorn 的未初始化常量 ActiveRecord (NameError)

ruby-on-rails - Ruby on Rails : :include on a polymorphic association with submodels

Rails 5 升级后 Activerecord 存储仅返回空哈希