ฉันพยายามที่จะผลักดันแอปของฉันใน heroku ฉันยังอยู่ในการพัฒนา ฉันใช้การประดิษฐ์ด้วยโมดูลที่ยืนยันได้
เมื่อฉันพยายามเพิ่มผู้ใช้ด้วยคอนโซล heroku ฉันพบข้อผิดพลาดนี้:
Missing host to link to! Please provide :host parameter or set default_url_options[:host]
ในสภาพแวดล้อมการทดสอบและ dev ฉันมีบรรทัดต่อไปนี้:
environment / development.rb และ environment / test.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
ฉันไม่ได้ตั้งค่าบางอย่างในสภาพแวดล้อมการผลิต
ฉันพยายามที่จะผลักดันด้วย
config.action_mailer.default_url_options = { :host => 'mywebsitename.com' }
config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' }
แต่มันก็ไม่ทำงานเหมือนกัน ..
ฉันเห็นบนเว็บว่าเกี่ยวข้องกับ ActionMailer แต่ฉันไม่รู้ว่าต้องกำหนดค่าอะไร ขอบคุณมากสำหรับความคิดของคุณ!
แก้ไข:
สวัสดี
เพื่อที่จะไม่ทำให้แอพของฉันล่มเมื่อฉันกด heroku ฉันใส่มันไว้ใน env / test.rb และ env / dev.rb ของฉัน (ไม่ใช่ใน env.rb ฉันคิดว่ามันเป็นเพราะแอพราง 3)
config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
แต่เมื่อฉันพยายามสร้างผู้ใช้ในคอนโซล heroku:
User.create(:username => "test", :email => "test@test.com", :password => "test1234", :password_confirmation => "test1234", :confirmed_at => "2010-11-03 14:11:15.520128")
นี่คือข้อผิดพลาดที่ฉันได้รับ:
ActionView::Template::Error: Missing host to link to! Please provide :host parameter or set default_url_options[:host]
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_dispatch/routing/route_set.rb:473:in `url_for'
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_dispatch/routing/url_for.rb:132:in `url_for'
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_view/helpers/url_helper.rb:99:in `url_for'
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_dispatch/routing/route_set.rb:195:in `user_confirmation_url'
แก้ไขแล้ว (2)
เมื่อฉันพิมพ์ heroku บนคอนโซลฉันได้รับ ==> production.log <== ดังนั้นฉันคิดว่าเมื่อมีคนใช้ heroku มันมีอยู่แล้วในการผลิต
ฉันกำหนดค่า env / prod.rb ดังนี้:
config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
และตอนนี้ฉันมีข้อผิดพลาดนี้เมื่อฉันพยายามสร้างผู้ใช้:
Errno::EAFNOSUPPORT: Address family not supported by protocol - socket(2)
/usr/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:551:in `initialize'
/usr/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:551:in `open'
/usr/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:551:in `do_start'
/usr/ruby1.8.7/lib/ruby/1.8/timeout.rb:62:in `timeout'