无法登录ActiveAdmin
我遇到登录ActiveAdmin的问题。 使用无法登录Active Admin的解决方案。 有没有办法创建管理员用户? 并且无法登录Active Admin ,
我尝试在rails console
运行以下命令
user = AdminUser.new user.email = 'abc@example.com' user.password = 'new_password' user.save
在user.save
,它给我以下消息:
(0.0ms) begin transaction AdminUser Exists (0.0ms) SELECT 1 AS one FROM "admin_users" WHERE "admin_users"."email" = 'abc@example.com' LIMIT 1 false (1.0ms) rollback transaction
据我了解,这未能创造记录,对吗?
我也尝试了以下解决方案:
AdminUser.create :email => 'abc1@example.com', :password => 'password', :password_confirmation => 'password'
这会在控制台中显示以下消息:
(0.0ms) begin transaction AdminUser Exists (0.0ms) SELECT 1 AS one FROM "admin_users" WHERE "admin_users"."email" = 'ss1@example.com' LIMIT 1 SQL (11.0ms) INSERT INTO "admin_users" ("created_at", "current_sign_in_at", "current_sign_in_ip", "email", "encrypted_password", "last_sign_in_at", "last_sign_in_ip", "remember_created_at", "reset_password_sent_at", "reset_password_token", "sign_in_count", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [["created_at", Tue, 26 Aug 2014 05:41:42 UTC +00:00], ["current_sign_in_at", nil], ["current_sign_in_ip", nil], ["email", "ss1@example.com"], ["encrypted_password", "$2a$10$zLnnk8N3wx9GRb874YjjzOHukteF/qRjWPQMFTZOr7NMepljRRqOC"], ["last_sign_in_at", nil], ["last_sign_in_ip", nil], ["remember_created_at", nil], ["reset_password_sent_at", nil], ["reset_password_token", nil], ["sign_in_count", 0], ["updated_at", Tue, 26 Aug 2014 05:41:42 UTC +00:00]] (138.9ms) commit transaction #
编辑:
还尝试删除并创建所有模型,如下所示:
rake db:drop:all rake db:create:all rake db:migrate
但是,由于用户名或密码无效,它仍然无法登录。 我该如何解决?
您可能已经想到了这一点……但如果您正在使用DEVISE,请不要关注ACTIVEADMIN的指南! 它不会起作用……(他们真的需要修改他们的自述…它已经……一年了。)
无论如何,问题是用户必须同时存在于用户和管理员中。 我第一次设置ActiveAdmin时没有遇到这个问题,因为在我使用的指南中只有一个布尔值,您可以检查或取消选中用户是否为管理员用户。 (设置起来比较困难,但是更有效的做事方式。
无论如何你只需要去一个rails控制台而不是这个:
AdminUser.create :email => 'abc1@example.com', :password => 'password', :password_confirmation => 'password'
..做这个:
User.create :email => 'abc1@example.com', :password => 'password', :password_confirmation => 'password'
问题解决了!
您的错误消息显示您使用用户名作为身份validation密钥invalid username or password
并且您尝试使用电子邮件登录。 您的表结构显示您正在使用设计进行身份validation。 所以你的config/initializers/devise.rb
一定有问题。 试试用
config.case_insensitive_keys = [ :email, :username ] config.strip_whitespace_keys = [ :email, :username ]
可能还需要进行一些其他更改。 看看设计gem。
这将解决您的问题。
我遇到了同样的问题,我解决了这个问题。
$ rake db:seed $ rails runner "puts AdminUser.count" # should be => 1