Использовать railsadmin как корневое приложение

Я использую rails_admin в качестве основного приложения и хочу, чтобы оно было доступно через /, а не /admin.

Мои текущие файлы маршрутов выглядят так:

Rails.application.routes.draw do
  mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
  devise_for :users
  root 'dashboard#index'
end

панель инструментов — это просто простая страница со ссылкой на /admin, от которой я хочу избавиться.

Простой mount RailsAdmin::Engine => '/', as: 'rails_admin' не работает, так как есть цикл перенаправления (от devise, я думаю).

Журналы

Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 10.0.16.183:3000, CTRL+C to stop


Started GET "/" for 10.0.16.244 at 2016-01-15 14:19:55 +0100
Cannot render console from 10.0.16.244! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
  ActiveRecord::SchemaMigration Load (0.3ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by RailsAdmin::MainController#dashboard as HTML
Completed 401 Unauthorized in 12ms (ActiveRecord: 0.0ms)


Started GET "/users/sign_in" for 10.0.16.244 at 2016-01-15 14:19:55 +0100
Cannot render console from 10.0.16.244! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by RailsAdmin::MainController#show as HTML
  Parameters: {"model_name"=>"users", "id"=>"sign_in"}
Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)


Started GET "/users/sign_in" for 10.0.16.244 at 2016-01-15 14:19:55 +0100
Cannot render console from 10.0.16.244! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by RailsAdmin::MainController#show as HTML
Parameters: {"model_name"=>"users", "id"=>"sign_in"}
Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)


...
continues a couple of time after timeout

Пробовал несколько вещей, но ничего не получилось.

Может ли кто-нибудь помочь?


person tonymarschall    schedule 15.01.2016    source источник


Ответы (3)


Была проблема с разработкой, и я нашел решение в https://github.com/sferik/rails_admin/wiki/Troubleshoot Пришлось переключить прибор перед подушкой двигателя.

Rails.application.routes.draw do
  devise_for :users
  mount RailsAdmin::Engine => '/', as: 'rails_admin'
  root 'dashboard#index'
end
person tonymarschall    schedule 15.01.2016
comment
Безопасно ли удалять root 'dashboard#index' ? - person Simon Franzen; 25.07.2019

Вы пытались указать корневой адрес?

mount RailsAdmin::Engine => '/', as: 'rails_admin'
person Wilson Silva    schedule 15.01.2016
comment
Да, это не работает, так как devise дает цикл перенаправления. Расширены мои вопросы с соответствующими данными. - person tonymarschall; 15.01.2016

Для меня следующее помогло перенаправить пользователя с ролью администратора непосредственно на страницу панели инструментов rails_admin.

  devise_for :users, controllers: { registrations: 'registrations' }
  mount RailsAdmin::Engine => '/admin', as: 'rails_admin'

  authenticated :user, ->(u) { u.has_role?(:admin) } do
    root to: "rails_admin/main#dashboard", as: :admin_root
  end
person Jul    schedule 25.05.2020