2013-10-09 2 views
0

Похоже, что до тех пор, пока маршрут соответствует «somecontrollername # show», для него есть представление: somecontrollername/show.html, а контроллер определен без действия show , запрос на получение маршрута автоматически отображает представление.Интересное поведение, связанное с действиями Rails на контроллерах

Может кто-нибудь объяснить это поведение?

ответ

1

Это как Rails работу. Если у них есть маршрут для конкретных действий, но это действие не выполняется в соответствующем контроллере, они пытаются отобразить шаблон так же, как действие. Если они не могут найти этот шаблон, они выдают ошибку.

1

Вы будете иметь маршрут ресурса, который автоматически направляет в шаблон показа действия, как так:

resources :applicants # Controller for this resource can automatically serve REST requests 

Чтобы удалить его, в вашем маршруте добавить except: [:show]

resources :applicants, :except => [:show] 
+0

У меня будет один, даже если у меня нет ресурсов: somecontrollername в моем файле маршрутов? –

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