无法填充种子文件中的数据

问题描述

我正在尝试通过命令seed_fu使用gem acts-as-taggable-onrails db:seed_fu来填充数据。
但出现错误NameError: uninitialized constant SeedFu :: Runner :: Tagging.
如何正确填充数据?
如果有人知道,请告诉我。

显示错误
NameError: uninitialized constant SeedFu::Runner::Tagging

会发生什么
您可以使用seed_fu将行为可标记的数据(标记表和标记表)填充到数据库中。

操作环境

  • MacOS:Mojave
  • Ruby:2.5.7
  • 路轨:5.1.7
  • 行为可标记:6.5.0
  • seed_fu:2.3.9

我的代码

  • lib / tasks / seed_fu_gen.rake
namespace :seed_fu_gen do
  desc "back up datas to folder."
  task all: :environment do |_t|
  :
  :
    # tagging.rb
    taggings = ActsAsTaggableOn::Tagging.all
    SeedFu::Writer.write("db/fixtures/tagging.rb",class_name: "Tagging",seed_type: :seed_once) do |writer|
      taggings.each do |tgg|
        writer << tgg.attributes.except("created_at","updated_at")
      end
    end

    # tag.rb
    tags = ActsAsTaggableOn::Tag.all
    SeedFu::Writer.write("db/fixtures/tag.rb",class_name: "Tag",seed_type: :seed_once) do |writer|
      tags.each do |tg|
        writer << tg.attributes.except("created_at","updated_at")
      end
    end
  :
  :
  end
end
  • db / fixtures / tagging.rb
# DO NOT MODIFY THIS FILE,it was auto-generated.
#
# Date: 2020-10-20 12:09:21 +0000
# seeding Tagging
# Written with the command:
#
#   bin/rails seed_fu_gen:all
#
Tagging.seed_once(:id,{"id"=>1,"tag_id"=>1,"taggable_type"=>"Cuisine","taggable_id"=>1,"tagger_type"=>nil,"tagger_id"=>nil,"context"=>"tags"},{"id"=>2,"tag_id"=>2,"taggable_id"=>2,:
 :
)
  • 错误日志(在终端中)
== Seed from /db/fixtures/tagging.rb
rails aborted!
NameError: uninitialized constant SeedFu::Runner::Tagging
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:46:in `eval'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:46:in `eval'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:58:in `block in open'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:57:in `open'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:57:in `open'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:36:in `block in run_file'
/usr/local/bundle/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
/usr/local/bundle/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
/usr/local/bundle/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
/usr/local/bundle/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
/usr/local/bundle/gems/activerecord-5.1.7/lib/active_record/transactions.rb:210:in `transaction'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:35:in `run_file'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:26:in `block in run'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:25:in `each'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu/runner.rb:25:in `run'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/seed-fu.rb:29:in `seed'
/usr/local/bundle/gems/seed-fu-2.3.9/lib/tasks/seed_fu.rake:36:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/railties-5.1.7/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/usr/local/bundle/gems/railties-5.1.7/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/usr/local/bundle/gems/railties-5.1.7/lib/rails/command.rb:46:in `invoke'
/usr/local/bundle/gems/railties-5.1.7/lib/rails/commands.rb:16:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:seed_fu
(See full trace by running task with --trace)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...