无法登录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