"Rails Way"を使ってメーラーに確認用URLを追加するのは難しいです。Rails:カスタムURLヘルパーを組み込みのように動作させる_path&_urlヘルパー
PUT
リクエストができないため、テキストメールでは難しいので、これを純粋にRESTfulにしないことを選択しています。
はので、ここで私のroutes.rbをです:get 'confirm/:id' => 'Confirmations#confirm'
と私のメーラーに私はURLが発生したいemail_confirm_url(@user.email_token)
を入れたいと思います。
私はヘルパーを作成しました:
#app/helpers/confirmations_helper.rb
module ConfirmationsHelper
def email_confirm_url(token)
"/confirm/#{token}"
end
end
私はemail_confirm_url(@user.email_token)
を呼び出す場合を除いて、ソートのこのすべての作品、...
私は文字通り取得: "/confirm/abcdefg…
"
を私が欲しいものである場合には: http://myhostname/confirm/abcdefg…
または開発中:http://localhost:3000/confirm/abcdefg…
URLヘルパーは、組み込みの<resource>_path
と<resource>_url
ヘルパーのように動作するようにするにはどうすればよいですか?現実的に私は本当にが必要だと思うが、_url
が必要だと思う。
#Edit:私は私の環境の設定でこれを持っている:
#config/environments/development.rb
...
config.action_mailer.default_url_options = { :host => "localhost:3000" }
'ActionView :: Template :: Error:未定義のメソッド 'host' for nil:NilClass'メーラーで' host'または 'host_with_port'にアクセスできないということを覚えていますか?これはどうですか?上記のコメントに基づいて – Meltemi
が更新されました。 – zarazan