【发布时间】:2026-01-07 17:20:07
【问题描述】:
在我的 Ruby on Rails 应用程序中,我使用 devise 对“管理员”进行身份验证。
我只使用“Admin”模型,所以我修改了“routes.rb”文件来定义我的站点自定义路由
routes.rb
Rails.application.routes.draw do
resources :contacts
devise_for :admins
#Personal Devise admin routes
as :admin do
#Session Block
get "/login" => "devise/sessions#new", :as => :admin_session_login
delete "/logout" => "devise/sessions#destroy", :as => :admin_logout
#Account Block
get "/register" => "devise/registrations#new", :as => :admin_register
get "/edit_account" => "devise/registrations#edit", :as => :admin_edit
end
end
我保存了文件并重新启动了服务器,但是当我尝试导航到“/login”之类的自定义路由之一时,应用程序将我重定向到http://localhost:3000/
当我尝试导航到 /login 时,我还会发布服务器控制台日志:
控制台服务器日志
Started GET "/login" for 127.0.0.1 at 2015-06-29 18:15:32 +0200
ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by Devise::SessionsController#new as HTML
Admin Load (0.3ms) SELECT "admins".* FROM "admins" WHERE "admins"."id" = ? ORDER BY "admins"."id" ASC LIMIT 1 [["id", 1]]
Redirected to http://localhost:3000/
Filter chain halted as :require_no_authentication rendered or redirected
Completed 302 Found in 46ms (ActiveRecord: 0.9ms
)
【问题讨论】:
-
请发布您的
after_sign_in_path_formethod。
标签: ruby-on-rails ruby devise