耙子db:种子耙子中止了! ActiveRecord :: RecordInvalid:validation失败:已经收到电子邮件

我是OneMonth学习条纹支付的初学者。 现在,我正在学习如何创建产品表并为数据库设定种子。 到目前为止,一切顺利,直到我在运行rake db:seed后遇到问题

Davids-MBP-2:one_month_stripe_payments DKP $ rake db:seed rake aborted! ActiveRecord :: RecordInvalid:validation失败:已收到电子邮件 /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/validations.rb:79:in raise_record_invalid' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/validations.rb:43:in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/attribute_methods/dirty.rb:29:in save!' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:291:in save!' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:291:in block in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:351:in block in with_transaction_returning_status' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in gems中的block in with_transaction_returning_status' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in在事务’/Users/DKP/.rvm/gems/ruby-2.3中的block in with_transaction_returning_status' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in块中。 0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/transaction.rb:184:in within_new_transaction' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in事务’/Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/ active_record / transactions.rb:220:在transaction' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:348:in with_transaction_returning_status’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:291:in save!' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/persistence.rb:51:in save!' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/persistence.rb:51:in create!’ /Users/DKP/Desktop/one_month/one_month_stripe_payments/db/seeds.rb:8:in ' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in load’/Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb: 268:in block in load' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in load’/Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb: block in load' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in :in load_dependency’/ Users / DKP /.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in load' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/railties-4.2.5/lib/rails/engine.rb:547:in load_seed’/Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/ lib / active_record / tasks / database_tasks.rb:250:in load_seed' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:183:in ‘/Users/DKP/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in eval' /Users/DKP/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in load_seed' /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:183:in块(2级) eval' /Users/DKP/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in ‘任务:TOP => db:seed(通过使用–trace运行任务来查看完整跟踪)

我试过rake db:reset,然后rake:db migrate,然后再次rake db:seed。 但我仍然有同样的错误。

有人可以帮我解决这个问题吗? 我感到困惑,我不知道该怎么做。

非常感谢!

当你执行rake db:resetrake db:drop – > rake db:create – > rake db:migrate – > rake db:seed

你不需要再次使用rake db:seed

您可以通过执行rails c检查您的控制台,看看您是否已将数据置于内部。 Product.all

‘已经发送电子邮件’表示您已经拥有同一封电子邮件的记录。

做Rails控制台并检查记录是否存在。 如果没有,请执行rake db:drop – > rake db:create – > rake db:migrate – > rake db:seed。 这将解决您的问题。