2014-02-06 5 views
0

У меня есть ProjectsController и SubmissionsController. Я хочу настроить свои маршруты так, чтобы все подавали с префиксом проектов/ однако, пытаясь разными способами, я не могу заставить его работать правильно. Я могу настроить маршруты в порядке, они выходят, как задумано, но он не может найти мой контроллер:Рельсы Маршрутизация: Контроллер с областью

resources :submissions, only: [:index, :show, :create, :new, :edit, :update, :remove, :delete], path: 'projects/submissions' 
get 'projects/submissions/:id/remove', to: 'submissions#remove', as: :remove_submission 
patch 'projects/submissions/:id/delete', to: 'submissions#delete', as: :delete_submission 

Но он не ударил SubmissionsController. И мой SubmissionsController и ProjectsController находятся в приложения -> контроллеры

ответ

2

См http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

Правильный путь, чтобы написать свой маршрут в scope блоке

scope '/projects' do 
    resources :submissions 
end 

И как ваша сфера /projects имеет то же имя, что и маршруты вашего ProjectsController, обязательно объявите свои ProjectsController маршрутов после SubmissionsController маршрутов в вашем routes.rb файл.

+0

Я пробовал это ранее (я должен был сказать в вопросе) и имел ту же проблему. Он не попал в мой контроллер. – ediblecode

+0

Он работает на моей стороне (Rails 4.0.2). Что означает, что «не ударил ваш контроллер», возможно, стек ошибок может помочь – Benj

+0

Ошибка отсутствует. Он просто перенаправляет на мои project_controller – ediblecode

Смежные вопросы