没有路由匹配rails app中的控制器

时间:2013-04-05 21:08:33

标签: ruby-on-rails-3 routes actioncontroller

我有一个应用程序,我正在创建一个名为“new_911”的get动作。当我在应用程序布局中放置new_911_call_path时,我收到错误“没有路由匹配new_911控制器:调用”。然而,呼叫控制器中有一个名为new_911的动作。我做错了什么?

致电控制器:

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

application.html.erb

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

的routes.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)调用#new_911

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

想出来。我使用的是成员而不是集合。另外使用new_911给了我一个常量错误,因此我将其更改为EmergencyCalls作为我的控制器模式并使用了正常的“新”操作。添加了资源:emergency_calls到我的路线文件,它工作正常。

很抱歉这个蠢货。