Ruby 在rails中运行db:migrate时发生smtp错误
我试图对我的用户模型进行一些更改,在运行迁移时,我遇到了错误,sqlite说表已经存在。然后,我执行了以下步骤:rake db:drop、rake db:create、rake db:migrate。当我运行迁移时,它给了我以下错误。我不知道从哪里开始找这个。我知道这似乎是指我的邮件问题,但我有点困惑这一点!我生成的模型如下所示,rails g model purchase subscription\u id:integer买家\u id:integer。这两个问题相关吗Ruby 在rails中运行db:migrate时发生smtp错误,ruby,activerecord,ruby-on-rails-4,sqlite,Ruby,Activerecord,Ruby On Rails 4,Sqlite,我试图对我的用户模型进行一些更改,在运行迁移时,我遇到了错误,sqlite说表已经存在。然后,我执行了以下步骤:rake db:drop、rake db:create、rake db:migrate。当我运行迁移时,它给了我以下错误。我不知道从哪里开始找这个。我知道这似乎是指我的邮件问题,但我有点困惑这一点!我生成的模型如下所示,rails g model purchase subscription\u id:integer买家\u id:integer。这两个问题相关吗 getaddrinfo
getaddrinfo: nodename nor servname provided, or not known/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/message.rb:2129:in `do_delivery'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/message.rb:232:in `block in deliver'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/actionmailer-4.1.1/lib/action_mailer/base.rb:527:in `block in deliver_mail'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/notifications.rb:159:in `block in instrument'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/notifications.rb:159:in `instrument'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/actionmailer-4.1.1/lib/action_mailer/base.rb:525:in `deliver_mail'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/message.rb:232:in `deliver'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/devise-3.3.0/lib/devise/models/authenticatable.rb:173:in `send_devise_notification'
/Users/em/Sincuru/new/app/models/admin_user.rb:7:in `block in <class:AdminUser>'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:440:in `instance_exec'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:440:in `block in make_lambda'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:221:in `call'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:221:in `block in halting_and_conditional'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:86:in `call'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:86:in `run_callbacks'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/callbacks.rb:306:in `create_record'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/timestamp.rb:57:in `create_record'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/persistence.rb:482:in `create_or_update'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/callbacks.rb:302:in `block in create_or_update'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:82:in `run_callbacks'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/callbacks.rb:302:in `create_or_update'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/persistence.rb:125:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/validations.rb:57:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:273:in `block in save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:208:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:273:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/validations.rb:41:in `create!'
/Users/em/Sincuru/new/db/migrate/20140905142834_devise_create_admin_users.rb:5:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:752:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:992:in `block in execute_migration_in_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:208:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:1038:in `ddl_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:953:in `block in migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:949:in `each'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:949:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:807:in `up'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:785:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/em/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/Users/em/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
SocketError: getaddrinfo: nodename nor servname provided, or not known
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/message.rb:2129:in `do_delivery'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/message.rb:232:in `block in deliver'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/actionmailer-4.1.1/lib/action_mailer/base.rb:527:in `block in deliver_mail'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/notifications.rb:159:in `block in instrument'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/notifications.rb:159:in `instrument'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/actionmailer-4.1.1/lib/action_mailer/base.rb:525:in `deliver_mail'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/mail-2.5.4/lib/mail/message.rb:232:in `deliver'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/devise-3.3.0/lib/devise/models/authenticatable.rb:173:in `send_devise_notification'
/Users/em/Sincuru/new/app/models/admin_user.rb:7:in `block in <class:AdminUser>'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:440:in `instance_exec'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:440:in `block in make_lambda'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:221:in `call'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:221:in `block in halting_and_conditional'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:86:in `call'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:86:in `run_callbacks'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/callbacks.rb:306:in `create_record'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/timestamp.rb:57:in `create_record'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/persistence.rb:482:in `create_or_update'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/callbacks.rb:302:in `block in create_or_update'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.1.1/lib/active_support/callbacks.rb:82:in `run_callbacks'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/callbacks.rb:302:in `create_or_update'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/persistence.rb:125:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/validations.rb:57:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:273:in `block in save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:208:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:273:in `save!'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/validations.rb:41:in `create!'
/Users/em/Sincuru/new/db/migrate/20140905142834_devise_create_admin_users.rb:5:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:752:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:992:in `block in execute_migration_in_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/transactions.rb:208:in `transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:1038:in `ddl_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:953:in `block in migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:949:in `each'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:949:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:807:in `up'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/migration.rb:785:in `migrate'
/Users/em/.rvm/gems/ruby-2.1.1@global/gems/activerecord-4.1.1/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/em/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/Users/em/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate
我能够得到这个问题的答案,下面的问题就解决了
ActionMailer::Base.smtp_settings = {
:address => 'smtp.gmail.com',
:port => 587,
:domain => "local.drop.me:300",
:user_name => "here_valid_email_will_come",
:password => "here_valid_passowrd_will_come",
:authentication => "plain",
:enable_starttls_auto => true
}
在保存/更新/创建等之后发送电子邮件的模型中,您是否使用回调?您可以做的另一件事是不关心是否不发送。通过设置config.action\u mailer.raise\u delivery\u errors=false
ActionMailer::Base.smtp_settings = {
:address => 'smtp.gmail.com',
:port => 587,
:domain => "local.drop.me:300",
:user_name => "here_valid_email_will_come",
:password => "here_valid_passowrd_will_come",
:authentication => "plain",
:enable_starttls_auto => true
}