2017-03-07 6 views
2

私はMichael Hartlのレールチュートリアルを進めています。現在、WebアプリケーションをHerokuにプッシュしています。 (アプリケーションはローカルサーバで正しく機能します)hellokuにrailsアプリケーションを配備すると、sendgrid電子メールリンクが実行不能になる

私はsendgridを使用して、アカウントをアクティブにするための電子メールの送信を容易にしています。ユーザーがアカウントを作成すると、電子メールは正しく送信され、ユーザーが受信します。ただし、リセットリンクは機能しません。

ローカルサーバーでは、電子メールはURL localhost:3000/etc .... とのリンクを生成します。これはうまくいきます。

しかし、ヒロクの展開では、電子メール内のリンクにより、記号 "<"と ">"のHTMLコードが生成されます。そのようにURLを囲む...

http://<app-1234>.heroku-app.com/ etc... 

有効なリンクとして機能しません。 "<>"タグを手動で削除すると、アクティベーションリンクが機能します。

sendgrid内にいくつかの設定があるとします。 "<>"タグがURLに追加されないように変更できますが、私は答えが見つからないと思います。私の質問がはっきりしていることを願う?多くは事前に感謝!

答えて

3

は、それが実際に<と>記号を入れないで、設定/環境/ production.rbファイルに

host = <your heroku app>.herokuapp.com 

を入力するように言うとき。ちょうどあなたのアプリの名前を入れてください。

あなたは置く:

host = 'app-1234.herokuapp.com' 
+0

私はこれを逃したと信じられない...よく!多くのお返事ありがとう、簡単に解決しました。 – pip36

+0

いいえ問題:-) –

+0

おかげで、ハートルと幸運。 –

0

は、あなたがリンク@url = "http://<app-1234>.heroku-app.com/users/sign_in"があるとします。次の行で、この@urlをgsubメソッドを使って編集します。これはstringの文字を変更したり置き換えたりするために使用されます。 @url.gsub!("<app-1234>", "app-1234")を実行し、その新しい@urlオブジェクトをuserに送信します。

+0

私は非常に似たようなことをやろうとしていました。しかし幸いにも問題は私がばかだということでした。 – pip36

関連する問題