如何解决无法填充种子文件中的数据
我正在尝试通过命令seed_fu
使用gem acts-as-taggable-on
和rails 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 举报,一经查实,本站将立刻删除。