耙子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:reset
, rake 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。 这将解决您的问题。