1

我有一个应用程序,我正在创建一个名为“new_911”的获取操作。当我将 new_911_call_path 放入应用程序布局中时,出现错误“没有路由匹配 new_911 控制器:调用”。然而,调用控制器中有一个名为 new_911 的操作。我究竟做错了什么?

调用控制器:

def new_911
    @call = Call.new :call_status => "open"
    respond_with @call
end

应用程序.html.erb

<li><%= link_to 'New 911 Call', new_911_call_path %></li>

路线.rb

resources :calls do
    member do
      post 'close'
      post 'cancel'
      post 'note'
      get  'new_return'
      get 'duplicate_call'
      get 'edit_times'
      put 'update_billing'
      get 'new_911'
    end

rake 路由:new_911_call GET /calls/:id/new_911(.:format) calls#new_911

4

2 回答 2

1

您需要将参数添加到路由中。您正在使用成员路由,因此您需要添加 id 参数,看看this。您可能需要更改该路线。

于 2013-04-05T21:19:42.537 回答
0

弄清楚了。我使用的是成员而不是集合。同样使用 new_911 给了我一个持续的错误,因此我将其更改为 EmergencyCalls 用于我的控制器架构并使用正常的“新”操作。在我的路线文件中添加了资源 :emergency_calls 并且它起作用了。

对不起,笨蛋。

于 2013-04-05T22:01:51.640 回答