2017-02-05 20 views
0

UPDATE:Ruby On Rails: Зарегистрироваться ошибку, используя разработать и sendgrid

Теперь я получаю только на Heroku (локально все работает отлично) следующее сообщение об ошибке:

2017-02-08T17:32:19.012088+00:00 app[web.1]: 
2017-02-08T17:32:19.012090+00:00 app[web.1]: MyMailer#new_user: processed outbou         nd mail in 0.6ms 
2017-02-08T17:32:19.012890+00:00 app[web.1]: (0.6ms) ROLLBACK 
2017-02-08T17:32:19.013352+00:00 app[web.1]: Completed 500 Internal Server Error         in 152ms (ActiveRecord: 10.9ms) 
2017-02-08T17:32:19.015070+00:00 app[web.1]: 
2017-02-08T17:32:19.015072+00:00 app[web.1]: TypeError (no implicit conversion o         f nil into String): 
2017-02-08T17:32:19.015073+00:00 app[web.1]: app/mailers/my_mailer.rb:4:in `ne         w' 
2017-02-08T17:32:19.015073+00:00 app[web.1]: app/mailers/my_mailer.rb:4:in `se         ndgrid_client' 
2017-02-08T17:32:19.015073+00:00 app[web.1]: app/mailers/my_mailer.rb:31:in `n         ew_user' 
2017-02-08T17:32:19.015074+00:00 app[web.1]: app/models/user.rb:7:insend_not         ification' 
2017-02-08T17:32:19.015074+00:00 app[web.1]: 

ответ

1

Проблема возникает, когда вы инициализации новый клиент SendGrid (линия 3)

Вот мой пример

2.2.2 :005 > SendGrid::API.new('xxxxxxxxxx') 
ArgumentError: wrong number of arguments (1 for 0) 

Согласно sendgrid-ruby документация о драгоценных камнях, код должен быть SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY']).

2.2.2 :004 > sg = SendGrid::API.new(api_key: 'xxxxxxxxxx') 
=> #<SendGrid::API:0x007fde228f06d0 @api_key="xxxxxxxxxx", @host="https://api.sendgrid.com", @version="v3", @user_agent="sendgrid/4.0.7;ruby", @request_headers={"Authorization"=>"Bearer xxxxxxxxxx", "Accept"=>"application/json"}, @client=#<SendGrid::Client:0x007fde228f0360 @host="https://api.sendgrid.com/v3", @request_headers={"Authorization"=>"Bearer xxxxxxxxxx", "Accept"=>"application/json"}, @version=nil, @url_path=[], @methods=["delete", "get", "patch", "post", "put"], @query_params=nil, @request_body=nil>> 
+0

Вы, сэр, босс! Это, наконец, работает. – Prometheus

+0

Или на самом деле нет. У меня появилась новая проблема только на героку. Локально все работает, я обновил вопрос. Если это может помочь. – Prometheus

+0

Можете ли вы показать мне свой код? Вы можете проверить значение 'api_key'? Я предполагаю, что этот ключ возвращает null на данный момент. –