Нет ответа на Show и Rails Routes

Моя файловая структура настроена надлежащим образом (я думаю!), И утверждает, что ничего не показывает, чтобы показать.

Моя файловая структура:

 views/admin/admin_wysi/index.html.haml

Мой контроллер ( controllers/admin/admin_wysis_controller.rb)

class Admin::AdminWysisController < Admin::ApplicationController

 def index
 end

end  

Мои маршруты.рб

map.namespace :admin do |admin|
  admin.resource :admin_wysi
end

И моя ошибка при попытке получить доступ к www.website.com/admin/admin_wysi/:

Unknown action

No action responded to show. Actions: index

Что я здесь не так делаю?

2 ответа

Решение

Ваши маршруты единичны. Но вы, вероятно, хотите множественное число. Измените ваше определение маршрута на это:

map.resources :admin_wysi

Или, если вы действительно хотите особый маршрут, измените свой контроллер на это:

class Admin::AdminWysisController < Admin::ApplicationController

 def show
 end

end  

В дополнение ко всему этому, я предлагаю вам прочитать Rails Guides о маршрутизации, он должен дать более подробную информацию о том, как и что на самом деле происходит:)

В сообщении об ошибке указывается, что оно ищет действие "show" вместо действия "index". Одна из команд, которую нужно попробовать, - это "рейковые маршруты" (из вашего терминала). Это выведет список путей, поддерживаемых вашим приложением, и на какой контроллер / действие они сопоставляются. В этом случае ваша проблема исправлена ​​с помощью:

map.namespace :admin do |admin|
  admin.resources :admin_wysi # added 's'
end

Выполнение "map.resource" только направляет 6 из 7 маршрутов отдыха (не индекс), поэтому вы должны использовать "map.resources" (при условии, что у вас есть несколько ресурсов в отличие от одного ресурса).

Другие вопросы по тегам