为什么这种形式不从模型中获取数据?

时间:2012-02-01 19:18:33

标签: ruby-on-rails form-for

我想使用此表单捕获电子邮件地址:

我决定只为此创建一个模型,并将视图和控制器用于仅提供静态资产的不同模型(想想:简报注册)。

<%= form_for (@signup) do |f| %>
 <% if @signup.errors.any? %>
  <div id="error_explanation">
   <p><%= pluralize(@signup.errors.count, "error") %> prohibited this post from being saved:</p>

   <ul>
    <% @signup.errors.full_messages.each do |user| %>
    <li><%= user %></li>
    <% end %>
   </ul>
  </div>
 <% end %>

 <div class="field">
  <%= f.label :email_address %><br />
  <%= f.email_field_tag :email_address %>
 </div>

 <div class="actions">
  <%= f.submit %>
 </div>
   

如何让此表单生效?我得到undefined method signups_path for #<#<Class:0x00000004f1feb0>:0x00000004f09a98>异常,这是可以理解的(它按惯例寻找SignupsController)。

但我希望表单显示在一个单独的控制器中,我调用PagesController并将其发送到注册模型。

其他信息:

我尝试在表单中传递 url:pages_path 并获得相同的异常。

 # view inside PagesController
 <div class="four columns">
   <%= render 'form' %> 
 </div>

#stub of model
class PagesController < ApplicationController
 def index
  @signup = Signup.new
 end

def create
 @signup = Signup.new(params[:signup])
end
end

1 个答案:

答案 0 :(得分:0)

尝试:

<%= form_for @sighup, :url => {:controller => :pages, :action => :index} do |f| %>

我希望你不要忘记

<% end %>