2013-04-05 1 views
1

У меня есть приложение, в котором я создаю действие get под названием «new_911». Когда я помещаю new_911_call_path в макет приложения, я получаю сообщение об ошибке «no route matches new_911 controller: calls». Тем не менее, в контроллере вызовов есть действие new_911. Что я делаю не так?Нет контроллеров маршрутов в rails app

вызовов контроллер:

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 

реки маршруты: new_911_call GET/звонки /:/ID new_911 (.: формат) звонки # new_911

ответ

1

Вам нужно добавить параметр к маршруту. Вы используете маршрут участника, поэтому вам нужно добавить параметр id, посмотрите this. Возможно, вам придется изменить этот маршрут.

0

Выяснил это. Я использовал член вместо коллекции. Кроме того, использование new_911 дало мне постоянную ошибку, поэтому я заменил ее на EmergencyCalls для моей схемы контроллера и использовал нормальное «новое» действие. Добавлены ресурсы: emergency_calls в файл маршрутов, и он сработал.

Извините за goof.