1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix malformed asset_url when rendering template with ActionController::Renderer

(cherry picked from commit 32046deced)
This commit is contained in:
Giorgos Vrettos 2017-03-02 11:54:58 +02:00 committed by Andrew White
parent d3083cc46d
commit f69edbea34
2 changed files with 15 additions and 0 deletions

View file

@ -85,6 +85,7 @@ module ActionController
def normalize_keys(env)
new_env = {}
env.each_pair { |k,v| new_env[rack_key_for(k)] = rack_value_for(k, v) }
new_env["rack.url_scheme"] = new_env["HTTPS"] == "on" ? "https" : "http"
new_env
end

View file

@ -95,6 +95,20 @@ class RendererTest < ActiveSupport::TestCase
assert_equal 'true', content
end
test "return valid asset url with defaults" do
renderer = ApplicationController.renderer
content = renderer.render inline: "<%= asset_url 'asset.jpg' %>"
assert_equal "http://example.org/asset.jpg", content
end
test "return valid asset url when https is true" do
renderer = ApplicationController.renderer.new https: true
content = renderer.render inline: "<%= asset_url 'asset.jpg' %>"
assert_equal "https://example.org/asset.jpg", content
end
private
def render
@render ||= ApplicationController.renderer.method(:render)