Я думаю, что если действие в вашем контроллере не существует, и ваш контроллер вызван генерацией каркаса, то по умолчанию он переходит к методу 'show' контроллера.
Например: - http://www.domain.com/controller_name/invalid_action_name
Здесь ваше «имя_контроллера» является действительным контроллером. &
"invalid_action_name" является недействительным действием.
Затем по умолчанию он переходит к методу show в "controller_name" и рассматривает "invalid_action_name" как params [: id].
, поэтому в методе show вы можете спасти ошибку и показать действительную страницу ошибки, такую как «Запись не найдена» или «Ошибка 404»
EDITED
Вы должны добавить маршрут для нового имени метода в ваш /config/routes.rb следующим образом
map.resources :controller_name, :collection=>{:show=>:get}
не забудьте перезапустить сервер при каждом изменении этого файла.