代码之家  ›  专栏  ›  技术社区  ›  jefflunt

一页上有多个表单

  •  1
  • jefflunt  · 技术社区  · 15 年前

    我有一个应用程序正在测试中。问题是,我无法让邀请系统工作。:(

    在我的根页面上有一个登录表单(工作正常),我正试图在同一页面上添加一个“请求邀请”表单。我首先将inviterequest(activerecord)的表单放在partial中,放在inviterequest的“views”文件夹中。应用程序肯定会调用此部分,但我收到以下错误:

    NoMethodError in User_sessions#new
    
    Showing app/views/invite_request/_new.html.erb where line #2 raised:
    
    undefined method `invite_requests_path' for #<ActionView::Base:0x25b3248>
    Extracted source (around line #2):
    
    1: <% @invite_request = InviteRequest.new() %>
    2: <% form_for @invite_request do |ir| %>
    3:  <%= ir.label :email %>
    4:  <%= ir.text_field :email %>
    5: <% end %>
    

    我还阅读了我的可靠副本的“表单中的多个模型”部分 "Agile Web Development with Rails" ,关于可能使用“fieldset”标记执行此操作,但不确定这是否是正确的方法。

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Jakob Borg    15 年前

    你的 form_for @invite_request 正在尝试找出表单中的结果应发布在何处。它通过查看路由并找到与所需资源和操作匹配的路由来完成此任务。在你的情况下,我猜你还没有为 InviteRequest . 你要么需要设置路由 邀请 或指定要发布到的URL form_for .

    form_for @invite_request, :url => { :controller => 'application', :action => 'request_invite' } do |form|
      ...