[rails5.1/devise/administrator]NameError в Admin::AdminUsers#index

Я борюсь с ошибкой (NameError в Admin::AdminUsers#index)

Я использую разработку и администрирование. Я должен стоить разработать контроллер, поэтому установите опцию контроллера.

Мой файл маршрутов здесь.

Rails.application.routes.draw do
  devise_for :admin_users, path: :admin, skip: [:registration], :controllers => {
    :sessions => 'admin_users/sessions'
  }
  namespace :admin do
    root to: "admin_users#index"
    resources :admin_users
  end
end

Но после настройки: контроллер, parameter,ameError in Admin::AdminUsers#index Это происходит при доступе к admin/ path.

ошибка подробно:

ActionView::Template::Error (uninitialized constant AdminUsers::Session):
10: <nav class="navigation" role="navigation">
11:   <% Administrate::Namespace.new(namespace).resources.each do |resource| %>
12:     <%= link_to(
13:       display_resource_name(resource),
14:       [namespace, resource_index_route_key(resource)],
15:       class: "navigation__link navigation__link--#{nav_link_state(resource)}"
16:     ) %>

порядок воспроизведения:

・access to /admin (and login screen is shown)
・enter e-mail address and pass and submit
・Error occur (after login success)

Можете ли вы сказать мне причину ошибки??

до установки параметра контроллера он работал нормально.

Rails.application.routes.draw do
  devise_for :admin_users, path: :admin, skip: [:registration]
  namespace :admin do
    root to: "admin_users#index"
    resources :admin_users
  end
end

рейк маршруты одинаковы

                Prefix Verb   URI Pattern                           Controller#Action
    new_admin_user_session GET    /admin/sign_in(.:format)              devise/sessions#new
        admin_user_session POST   /admin/sign_in(.:format)              devise/sessions#create
destroy_admin_user_session DELETE /admin/sign_out(.:format)             devise/sessions#destroy
                      root GET    /                                     admin/admin_users#index
                admin_root GET    /admin(.:format)                      admin/admin_users#index
         admin_admin_users GET    /admin/admin_users(.:format)          admin/admin_users#index
                           POST   /admin/admin_users(.:format)          admin/admin_users#create
      new_admin_admin_user GET    /admin/admin_users/new(.:format)      admin/admin_users#new
     edit_admin_admin_user GET    /admin/admin_users/:id/edit(.:format) admin/admin_users#edit
          admin_admin_user GET    /admin/admin_users/:id(.:format)      admin/admin_users#show
                           PATCH  /admin/admin_users/:id(.:format)      admin/admin_users#update
                           PUT    /admin/admin_users/:id(.:format)      admin/admin_users#update
                           DELETE /admin/admin_users/:id(.:format)      admin/admin_users#destroy

1 ответ

Из того, что я вижу, вы устанавливаете :sessions => 'admin_users/sessions"где я не вижу никаких маршрутов, соответствующих тому, что вы устанавливаете.

Я вижу маршруты с сессиями следуют

    new_admin_user_session GET    /admin/sign_in(.:format)              devise/sessions#new
        admin_user_session POST   /admin/sign_in(.:format)              devise/sessions#create
destroy_admin_user_session DELETE /admin/sign_out(.:format)             devise/sessions#destroy

Я думаю, что вы хотите добавить devise/sessions или же вы должны создать маршрут, который соответствует вашему admin_users/sessions

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