Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
345ac293
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,体验更适合开发者的 AI 搜索 >>
提交
345ac293
编写于
1月 25, 2012
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4679 from lest/patch-1
AssetTagHelper improvements
上级
522c0fdb
858f4646
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
27 deletion
+37
-27
actionpack/lib/action_view/helpers/asset_tag_helper.rb
actionpack/lib/action_view/helpers/asset_tag_helper.rb
+23
-27
actionpack/test/template/asset_tag_helper_test.rb
actionpack/test/template/asset_tag_helper_test.rb
+14
-0
未找到文件。
actionpack/lib/action_view/helpers/asset_tag_helper.rb
浏览文件 @
345ac293
...
...
@@ -355,8 +355,8 @@ def font_path(source)
# <img src="/images/mouse.png" onmouseover="this.src='/images/mouse_over.png'" onmouseout="this.src='/images/mouse.png'" alt="Mouse" />
# image_tag("mouse.png", :mouseover => image_path("mouse_over.png")) # =>
# <img src="/images/mouse.png" onmouseover="this.src='/images/mouse_over.png'" onmouseout="this.src='/images/mouse.png'" alt="Mouse" />
def
image_tag
(
source
,
options
=
{})
options
.
symbolize_keys!
def
image_tag
(
source
,
options
=
{})
options
=
options
.
dup
.
symbolize_keys!
src
=
options
[
:src
]
=
path_to_image
(
source
)
...
...
@@ -416,22 +416,12 @@ def image_alt(src)
# video_tag(["trailer.ogg", "trailer.flv"] :size => "160x120") # =>
# <video height="120" width="160"><source src="/videos/trailer.ogg" /><source src="/videos/trailer.flv" /></video>
def
video_tag
(
*
sources
)
options
=
sources
.
extract_options!
.
symbolize_keys!
sources
.
flatten!
multiple_sources_tag
(
'video'
,
sources
)
do
|
options
|
options
[
:poster
]
=
path_to_image
(
options
[
:poster
])
if
options
[
:poster
]
options
[
:poster
]
=
path_to_image
(
options
[
:poster
])
if
options
[
:poster
]
if
size
=
options
.
delete
(
:size
)
options
[
:width
],
options
[
:height
]
=
size
.
split
(
"x"
)
if
size
=~
%r{^
\d
+x
\d
+$}
end
if
sources
.
size
>
1
content_tag
(
"video"
,
options
)
do
safe_join
sources
.
map
{
|
source
|
tag
(
"source"
,
:src
=>
path_to_video
(
source
))
}
if
size
=
options
.
delete
(
:size
)
options
[
:width
],
options
[
:height
]
=
size
.
split
(
"x"
)
if
size
=~
%r{^
\d
+x
\d
+$}
end
else
options
[
:src
]
=
path_to_video
(
sources
.
first
)
tag
(
"video"
,
options
)
end
end
...
...
@@ -449,17 +439,7 @@ def video_tag(*sources)
# audio_tag("sound.wav", "sound.mid") # =>
# <audio><source src="/audios/sound.wav" /><source src="/audios/sound.mid" /></audio>
def
audio_tag
(
*
sources
)
options
=
sources
.
extract_options!
.
symbolize_keys!
sources
.
flatten!
if
sources
.
size
>
1
content_tag
(
"audio"
,
options
)
do
safe_join
sources
.
collect
{
|
source
|
tag
(
"source"
,
:src
=>
path_to_audio
(
source
))
}
end
else
options
[
:src
]
=
path_to_audio
(
sources
.
first
)
tag
(
"audio"
,
options
)
end
multiple_sources_tag
(
'audio'
,
sources
)
end
private
...
...
@@ -467,6 +447,22 @@ def audio_tag(*sources)
def
asset_paths
@asset_paths
||=
AssetTagHelper
::
AssetPaths
.
new
(
config
,
controller
)
end
def
multiple_sources_tag
(
type
,
sources
)
options
=
sources
.
extract_options!
.
dup
.
symbolize_keys!
sources
.
flatten!
yield
options
if
block_given?
if
sources
.
size
>
1
content_tag
(
type
,
options
)
do
safe_join
sources
.
map
{
|
source
|
tag
(
"source"
,
:src
=>
send
(
"path_to_
#{
type
}
"
,
source
))
}
end
else
options
[
:src
]
=
send
(
"path_to_
#{
type
}
"
,
sources
.
first
)
tag
(
type
,
options
)
end
end
end
end
end
actionpack/test/template/asset_tag_helper_test.rb
浏览文件 @
345ac293
...
...
@@ -445,6 +445,12 @@ def test_image_tag
ImageLinkToTag
.
each
{
|
method
,
tag
|
assert_dom_equal
(
tag
,
eval
(
method
))
}
end
def
test_image_tag_does_not_modify_options
options
=
{
:size
=>
'16x10'
}
image_tag
(
'icon'
,
options
)
assert_equal
({
:size
=>
'16x10'
},
options
)
end
def
test_favicon_link_tag
FaviconLinkToTag
.
each
{
|
method
,
tag
|
assert_dom_equal
(
tag
,
eval
(
method
))
}
end
...
...
@@ -488,6 +494,14 @@ def test_audio_tag
AudioLinkToTag
.
each
{
|
method
,
tag
|
assert_dom_equal
(
tag
,
eval
(
method
))
}
end
def
test_video_audio_tag_does_not_modify_options
options
=
{
:autoplay
=>
true
}
video_tag
(
'video'
,
options
)
assert_equal
({
:autoplay
=>
true
},
options
)
audio_tag
(
'audio'
,
options
)
assert_equal
({
:autoplay
=>
true
},
options
)
end
def
test_timebased_asset_id
expected_time
=
File
.
mtime
(
File
.
expand_path
(
File
.
dirname
(
__FILE__
)
+
"/../fixtures/public/images/rails.png"
)).
to_i
.
to_s
assert_equal
%(<img alt="Rails" src="/images/rails.png?#{expected_time}" />)
,
image_tag
(
"rails.png"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录