私のapplication.html.erbには、それぞれが。を持つ一連のパーシャル<%= render @objects %>
をレンダリングするがあります。誰かがコメントを残したときに送信されるのと同じ単一の部分を電子メールでレンダリングしますが、リンクをサーバーのURLで開始したいと思います。_object.html.erb
<%= link_to(object) %>
<%= render @object %>
私はすべてを試しました:
link_to(object)
url_for(object)
before_filter :set_mailer_host
def set_mailer_host
ActionMailer::Base.default_url_options[:host] = request.host_with_port
end
default_url_options[:host] = "example.com"
def default_url_options
{ host: 'example.com' }
end
...何も機能しません。有無:only_links
最後に、リンクの前にホスト名を追加するダムヘルパーを作成しました。
# application_controller.rb
before_filter { App::request=request }
# application_helper.rb
def hostify obj
"http://#{App::request.host_with_port}#{url_for obj}"
end
# _object.html.erb:
<%= link_to obj.title, hostify(object) %>
これを行う通常の方法はありますか?