我最近將 gem Active Admin 添加到我的 rails 應用程式(使用 rails 5.2.6),我讓它與默認管理員一起作業,并且它按預期作業。但是我無法添加新管理員,AdminUser.create!(email: "[email protected]", password: "password", password_confirmation: "password")因為我收到rails aborted錯誤然后Don't know how to build task 'AdminUser.create!(email: "[email protected]", password: "password", password_confirmation: "password").
我已經嘗試使用rails db:migrate和運行我的種子。我也在使用設計寶石。
完整跟蹤:
rails aborted!
Don't know how to build task 'AdminUser.create!(email: example@gmail.com, password: password, password_confirmation: password)' (See the list of available tasks with `rails --tasks`)
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/task_manager.rb:59:in `[]'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:159:in `invoke_task'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/var/lib/gems/2.7.0/gems/railties-5.2.6/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/var/lib/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/var/lib/gems/2.7.0/gems/railties-5.2.6/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/var/lib/gems/2.7.0/gems/railties-5.2.6/lib/rails/command.rb:48:in `invoke'
/var/lib/gems/2.7.0/gems/railties-5.2.6/lib/rails/commands.rb:18:in `<main>'
/var/lib/gems/2.7.0/gems/bootsnap-1.8.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/lib/gems/2.7.0/gems/bootsnap-1.8.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/lib/gems/2.7.0/gems/bootsnap-1.8.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/lib/gems/2.7.0/gems/bootsnap-1.8.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/lib/gems/2.7.0/gems/bootsnap-1.8.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/home/magus/Desktop/Proyecto ing software/grupo-56/bin/rails:9:in `<top (required)>'
/var/lib/gems/2.7.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load'
/var/lib/gems/2.7.0/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call'
/var/lib/gems/2.7.0/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call'
/var/lib/gems/2.7.0/gems/spring-2.1.1/lib/spring/client.rb:30:in `run'
/var/lib/gems/2.7.0/gems/spring-2.1.1/bin/spring:49:in `<top (required)>'
/var/lib/gems/2.7.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load'
/var/lib/gems/2.7.0/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
/home/magus/Desktop/Proyecto ing software/grupo-56/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
正如我之前所說,所有其他 ActiveAdmin 功能都按預期作業,只是我無法創建新管理員。
我做錯了什么/可能忘記做什么?提前致謝。
uj5u.com熱心網友回復:
有幾種方法可以將該管理員添加到資料庫中:
rails console- 只需打開控制臺并執行AdminUser.create!(...).seeds.rb- 打開db/seeds.rb檔案并粘貼AdminUser.create!(...)。然后運行rake db:seed。請注意,rake db:seed多次運行將多次創建該管理員 - 最好有某種驗證或使用AdminUser.find_or_create_by(...)。- 耙任務-創建一個耙檔案
lib/tasks,名稱并不重要,但它應以結尾.rake(例如:update.rake)
task :add_admin do
AdminUser.find_or_create_by(email: "[email protected]", password: "password", password_confirmation: "password")
end
運行它rake add_admin。
如果你只想要你自己的管理員,你的本地機器,使用控制臺方法,否則選擇另外兩個,但確保 rake 任務是冪等的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/364621.html
