いくつかの異なるリンクを含む ActionMailer のビューがあります。現在、localhost:3000 で実行しているので、app/initializers で呼び出されるファイルにそのように設定しました(ここsetup_mail.rb
に示されているように):
ActionMailer::Base.default_url_options[:host] = "localhost:3000"
ビューで使用するurl_for
と、この値がプルされないようです。:host => "localhost:3000"
その後、各タグに追加するとurl_for
、正しく機能します。しかし、それらが含まれていないと機能しません。
別のタグ がproject_url
ありますが、これは表示どおりです。指定されたプロジェクトへのリンクです。これは、ホスト値を含めて、project_url(@project)
. 一方が機能するのに、もう一方が機能しないのはなぜですか?
私が読んだすべてからdefault_url_options[:host]
、イニシャライザでを設定すると、タグの:host
値を省略できるはずです。url_for
明らかに、その値を追加することは世界で最悪のことではありませんが、それは不必要に思えます。つまり、最終的にプロジェクトをどこかでホストするときに、その値をすべての場所で変更して変更する必要があることを意味します. しかし、それよりも悪いことに、それは私には理解できないものです。私はここに行ってまだ学んでいるので、何が間違っているのか知りたいです.