我有一个应用程序,我正在创建一个名为“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
答案 0 :(得分:1)
您需要将参数添加到路线中。您正在使用成员路由,因此您需要添加id参数,请查看this。您可能需要更改该路线。
答案 1 :(得分:0)
想出来。我使用的是成员而不是集合。另外使用new_911给了我一个常量错误,因此我将其更改为EmergencyCalls作为我的控制器模式并使用了正常的“新”操作。添加了资源:emergency_calls到我的路线文件,它工作正常。
很抱歉这个蠢货。