ruby-on-rails - 无法登录 ActiveAdmin

标签 ruby-on-rails activeadmin

我在登录 ActiveAdmin 时遇到问题。使用 Can't log into Active Admin. Any way to create an admin user? 中的解决方案和 Cant login to Active Admin ,

我尝试在我的 rails 控制台中运行以下命令

user = AdminUser.new
user.email = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c4a5a6a784a1bca5a9b4a8a1eaa7aba9" rel="noreferrer noopener nofollow">[email protected]</a>'
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" = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2e4f4c4d6e4b564f435e424b004d4143" rel="noreferrer noopener nofollow">[email protected]</a>' LIMIT 1
false
(1.0ms)  rollback transaction

据我了解,这未能创建记录,对吗?

我还尝试了以下解决方案:

AdminUser.create :email => '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7a1b18194b3a1f021b170a161f54191517" rel="noreferrer noopener nofollow">[email protected]</a>', :password => 'password', :password_confirmation => 'password'

这会在控制台中显示以下消息:

    (0.0ms)  begin transaction
AdminUser Exists (0.0ms)  SELECT 1 AS one FROM "admin_users" WHERE "admin_users"."email" = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4437377504213c25293428216a272b29" rel="noreferrer noopener nofollow">[email protected]</a>' 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", "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="790a0a48391c01181409151c571a1614" rel="noreferrer noopener nofollow">[email protected]</a>"], ["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


#<AdminUser id: 3, email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="186b6b29587d60797568747d367b7775" rel="noreferrer noopener nofollow">[email protected]</a>", encrypted_password: "$2a$10$zLnnk8N3wx9GRb874YjjzOHukteF/qRjWPQMFTZOr7NM...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: "2014-08-26 05:41:42", updated_at: "2014-08-26 05:41:42">

编辑:

还尝试删除并创建所有模型,如下所示:

rake db:drop:all
rake db:create:all
rake db:migrate

但是由于用户名或密码无效,仍然无法登录。我该如何解决这个问题?

最佳答案

您可能已经明白了这一点...但如果您正在使用 DEVISE,请不要遵循 ACTIVEADMIN 的指南!这是行不通的......(他们真的需要修改他们的自述文件......已经......很多年了。)

无论如何,问题是用户必须同时存在于 Users 和 AdminUsers 中。当我第一次设置 ActiveAdmin 时,我没有遇到这个问题,因为我使用的指南中只有一个 bool 值,您可以在其中检查或取消检查用户是否是管理员用户。 (设置起来比较困难,但做事的方式要明智得多。

无论如何,您只需要转到 Rails 控制台,而不是这样:

AdminUser.create :email => '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bbdad9d88afbdec3dad6cbd7de95d8d4d6" rel="noreferrer noopener nofollow">[email protected]</a>', :password => 'password', :password_confirmation => 'password'

..这样做:

User.create :email => '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d6b7b4b5e796b3aeb7bba6bab3f8b5b9bb" rel="noreferrer noopener nofollow">[email protected]</a>', :password => 'password', :password_confirmation => 'password'

问题解决了!

关于ruby-on-rails - 无法登录 ActiveAdmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25498878/

相关文章:

ruby - ActiveAdmin ForbiddenAttributesError

ruby-on-rails - Arel::SelectManager 如何访问包括投影在内的结果

ruby-on-rails - dotenv 是否会覆盖 docker compose 设置的环境变量?

ruby-on-rails - Gitlab ci安装报错

ruby-on-rails - Rspec:如何在 Controller 规范中分配实例变量

ruby-on-rails-3 - 使用事件管理 gem 按 ruby​​ on Rails 中的关联进行过滤

ruby-on-rails-4 - activeadmin gem 中的错误

ruby-on-rails - 指定 rails 中种子文件的执行顺序

ruby-on-rails - Ruby on Rails 中的 ActiveAdmin 未初始化常量

css - 加载不同的 css