Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
c3cff4d4
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c3cff4d4
编写于
10月 12, 2012
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ensure AssetUrlHelper can be mixed into AC::Base
上级
1e2b0ce9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
6 deletion
+46
-6
actionpack/lib/action_view/helpers/asset_url_helper.rb
actionpack/lib/action_view/helpers/asset_url_helper.rb
+13
-6
actionpack/test/template/asset_tag_helper_test.rb
actionpack/test/template/asset_tag_helper_test.rb
+33
-0
未找到文件。
actionpack/lib/action_view/helpers/asset_url_helper.rb
浏览文件 @
c3cff4d4
...
...
@@ -135,8 +135,7 @@ def asset_path(source, options = {})
source
=
compute_asset_path
(
source
,
options
)
end
current_request
=
controller
.
request
if
controller
.
respond_to?
(
:request
)
if
relative_url_root
=
config
.
relative_url_root
||
current_request
.
try
(
:script_name
)
if
relative_url_root
=
config
.
relative_url_root
||
asset_request
.
try
(
:script_name
)
source
=
"
#{
relative_url_root
}#{
source
}
"
unless
source
.
starts_with?
(
"
#{
relative_url_root
}
/"
)
end
...
...
@@ -180,10 +179,7 @@ def compute_asset_path(source, options = {})
# or the value returned from invoking call on an object responding to call
# (proc or otherwise).
def
compute_asset_host
(
source
=
""
,
options
=
{})
if
controller
.
respond_to?
(
:request
)
request
=
controller
.
request
end
request
=
asset_request
host
=
config
.
asset_host
host
||=
request
.
base_url
if
request
&&
options
[
:protocol
]
==
:request
return
unless
host
...
...
@@ -342,6 +338,17 @@ def font_url(source)
url_to_asset
(
source
,
type: :font
)
end
alias_method
:url_to_font
,
:font_url
# aliased to avoid conflicts with an font_url named route
private
# Get current request if self is a controller. If self is a
# view, check the parent controller's request.
def
asset_request
if
respond_to?
(
:request
)
request
elsif
respond_to?
(
:controller
)
&&
controller
.
respond_to?
(
:request
)
controller
.
request
end
end
end
end
end
actionpack/test/template/asset_tag_helper_test.rb
浏览文件 @
c3cff4d4
...
...
@@ -13,6 +13,8 @@ def config
class
AssetTagHelperTest
<
ActionView
::
TestCase
tests
ActionView
::
Helpers
::
AssetTagHelper
attr_reader
:request
def
setup
super
silence_warnings
do
...
...
@@ -598,6 +600,8 @@ def test_caching_image_path_with_caching_and_proc_asset_host_using_request
class
AssetTagHelperNonVhostTest
<
ActionView
::
TestCase
tests
ActionView
::
Helpers
::
AssetTagHelper
attr_reader
:request
def
setup
super
@controller
=
BasicController
.
new
...
...
@@ -720,3 +724,32 @@ def test_assert_css_and_js_of_the_same_name_return_correct_extension
assert_dom_equal
(
%(/collaboration/hieraki/stylesheets/foo.css)
,
stylesheet_path
(
"foo"
))
end
end
class
AssetUrlHelperControllerTest
<
ActionView
::
TestCase
tests
ActionView
::
Helpers
::
AssetUrlHelper
def
setup
super
@controller
=
BasicController
.
new
@controller
.
extend
ActionView
::
Helpers
::
AssetUrlHelper
@request
=
Class
.
new
do
attr_accessor
:script_name
def
protocol
()
'http://'
end
def
ssl?
()
false
end
def
host_with_port
()
'www.example.com'
end
def
base_url
()
'http://www.example.com'
end
end
.
new
@controller
.
request
=
@request
end
def
test_asset_path
assert_equal
"/foo"
,
@controller
.
asset_path
(
"foo"
)
end
def
test_asset_url
assert_equal
"http://www.example.com/foo"
,
@controller
.
asset_url
(
"foo"
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录