2010-03-27 2 views
0

Я использую герою как хозяин. Он работал нормально.action mailer gem и tlsmail gem не работает в heroku после GIT PUSH HEROKU

Затем я установил action_mailer_tls и tlsmail. Затем я включил его и нажал на него герою ..

После этого у меня возникла ошибка в myapp.heroku.com. Ошибка

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- smtp_tls (MissingSourceFile) 
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:158:in `require' 
from /disk1/home/slugs/154378_e47562d_b59c/mnt/config/initializers/smtp_gmail.rb:3 
from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:147:in `load_without_new_constant_marking' 
from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:147:in `load' 
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/initializer.rb:622:in `load_application_initializers' 
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/initializer.rb:621:in `each' 
from /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.3/lib/initializer.rb:621:in `load_application_initializers' 
... 19 levels... 
from /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval' 
from /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize' 
from /home/heroku_rack/heroku.ru:1:in `new' 
from /home/heroku_rack/heroku.ru:1 

мне нужно нажать gems..If делать, поэтому я попытался

git add .gems 

Это также дает роковую ошибку.

любое предложение было бы весьма полезно.

ответ

0

Да - это, скорее всего, (почти наверняка) b/c стандартная версия ruby ​​на heroku - 1,8.6, а поддержка TLS - из 1.8.7.

Если вы чувствуете себя храбрым, вы можете перенести Heroku приложение на новую стопку (см «стек Heroku» для получения дополнительной информации)

1

Используется

rake gems:unpack 

Он будет распаковать указанные драгоценные камни vendor/gems

0

Если вы используете Ruby 1.8.7 или новее, вам не нужно устанавливать smtp_tls gem. Он уже присутствует. Вам просто нужно enable_starttls_auto в вашем конфигурационном файле/environment.rb

ActionMailer::Base.smtp_settings = { 
:enable_starttls_auto => true, 
:address   => 'smtp.gmail.com', 
:port   => 587, 
:domain   => 'example.com', 
:authentication => :plain, 
:user_name  => 'user', 
:password  => 'secret' 
} 

или

config.action_mailer.smtp_settings = { 
:enable_starttls_auto => true, 
:port   => 587, 
:address  => "smtp.gmail.com", 
:domain   => "example.com", 
:user_name  => "user", 
:password  => "secret", 
:authentication => :plain 
} 

пожалуйста, добавьте комментарий, если у вас есть какие-либо сомнения, связанные с этим.