Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
08e5104a
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 搜索 >>
提交
08e5104a
编写于
1月 25, 2012
作者:
S
Sergey Nartimov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
allow to pass multiple sources to audio/video tags without using array
上级
73c53cd9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
12 deletion
+22
-12
actionpack/lib/action_view/helpers/asset_tag_helper.rb
actionpack/lib/action_view/helpers/asset_tag_helper.rb
+20
-12
actionpack/test/template/asset_tag_helper_test.rb
actionpack/test/template/asset_tag_helper_test.rb
+2
-0
未找到文件。
actionpack/lib/action_view/helpers/asset_tag_helper.rb
浏览文件 @
08e5104a
require
'active_support/core_ext/array/extract_options'
require
'active_support/core_ext/hash/keys'
require
'action_view/helpers/asset_tag_helpers/javascript_tag_helpers'
require
'action_view/helpers/asset_tag_helpers/stylesheet_tag_helpers'
require
'action_view/helpers/asset_tag_helpers/asset_paths'
...
...
@@ -407,12 +409,15 @@ def image_alt(src)
# <video src="/trailers/hd.avi" width="16" height="16" />
# video_tag("/trailers/hd.avi", :height => '32', :width => '32') # =>
# <video height="32" src="/trailers/hd.avi" width="32" />
# video_tag("trailer.ogg", "trailer.flv") # =>
# <video><source src="/videos/trailer.ogg" /><source src="/videos/trailer.flv" /></video>
# video_tag(["trailer.ogg", "trailer.flv"]) # =>
# <video><source src="
trailer.ogg" /><source src="trailer.ogg" /><source src="
trailer.flv" /></video>
# <video><source src="
/videos/trailer.ogg" /><source src="/videos/
trailer.flv" /></video>
# video_tag(["trailer.ogg", "trailer.flv"] :size => "160x120") # =>
# <video height="120" width="160"><source src="trailer.ogg" /><source src="trailer.flv" /></video>
def
video_tag
(
sources
,
options
=
{})
options
.
symbolize_keys!
# <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!
options
[
:poster
]
=
path_to_image
(
options
[
:poster
])
if
options
[
:poster
]
...
...
@@ -420,12 +425,12 @@ def video_tag(sources, options = {})
options
[
:width
],
options
[
:height
]
=
size
.
split
(
"x"
)
if
size
=~
%r{^
\d
+x
\d
+$}
end
if
sources
.
is_a?
(
Array
)
if
sources
.
size
>
1
content_tag
(
"video"
,
options
)
do
s
ources
.
map
{
|
source
|
tag
(
"source"
,
:src
=>
path_to_video
(
source
))
}.
join
.
html_safe
s
afe_join
sources
.
map
{
|
source
|
tag
(
"source"
,
:src
=>
path_to_video
(
source
))
}
end
else
options
[
:src
]
=
path_to_video
(
sources
)
options
[
:src
]
=
path_to_video
(
sources
.
first
)
tag
(
"video"
,
options
)
end
end
...
...
@@ -441,15 +446,18 @@ def video_tag(sources, options = {})
# <audio src="/audios/sound.wav" />
# audio_tag("sound.wav", :autoplay => true, :controls => true) # =>
# <audio autoplay="autoplay" controls="controls" src="/audios/sound.wav" />
def
audio_tag
(
sources
,
options
=
{})
options
.
symbolize_keys!
# 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
.
is_a?
(
Array
)
if
sources
.
size
>
1
content_tag
(
"audio"
,
options
)
do
s
ources
.
collect
{
|
source
|
tag
(
"source"
,
:src
=>
path_to_audio
(
source
))
}.
join
.
html_safe
s
afe_join
sources
.
collect
{
|
source
|
tag
(
"source"
,
:src
=>
path_to_audio
(
source
))
}
end
else
options
[
:src
]
=
path_to_audio
(
sources
)
options
[
:src
]
=
path_to_audio
(
sources
.
first
)
tag
(
"audio"
,
options
)
end
end
...
...
actionpack/test/template/asset_tag_helper_test.rb
浏览文件 @
08e5104a
...
...
@@ -201,6 +201,7 @@ def teardown
%(video_tag("error.avi", "size" => "x"))
=>
%(<video src="/videos/error.avi" />)
,
%(video_tag("http://media.rubyonrails.org/video/rails_blog_2.mov"))
=>
%(<video src="http://media.rubyonrails.org/video/rails_blog_2.mov" />)
,
%(video_tag("//media.rubyonrails.org/video/rails_blog_2.mov"))
=>
%(<video src="//media.rubyonrails.org/video/rails_blog_2.mov" />)
,
%(video_tag("multiple.ogg", "multiple.avi"))
=>
%(<video><source src="/videos/multiple.ogg" /><source src="/videos/multiple.avi" /></video>)
,
%(video_tag(["multiple.ogg", "multiple.avi"]))
=>
%(<video><source src="/videos/multiple.ogg" /><source src="/videos/multiple.avi" /></video>)
,
%(video_tag(["multiple.ogg", "multiple.avi"], :size => "160x120", :controls => true))
=>
%(<video controls="controls" height="120" width="160"><source src="/videos/multiple.ogg" /><source src="/videos/multiple.avi" /></video>)
}
...
...
@@ -224,6 +225,7 @@ def teardown
%(audio_tag("rss.wav", :autoplay => true, :controls => true))
=>
%(<audio autoplay="autoplay" controls="controls" src="/audios/rss.wav" />)
,
%(audio_tag("http://media.rubyonrails.org/audio/rails_blog_2.mov"))
=>
%(<audio src="http://media.rubyonrails.org/audio/rails_blog_2.mov" />)
,
%(audio_tag("//media.rubyonrails.org/audio/rails_blog_2.mov"))
=>
%(<audio src="//media.rubyonrails.org/audio/rails_blog_2.mov" />)
,
%(audio_tag("audio.mp3", "audio.ogg"))
=>
%(<audio><source src="/audios/audio.mp3" /><source src="/audios/audio.ogg" /></audio>)
,
%(audio_tag(["audio.mp3", "audio.ogg"]))
=>
%(<audio><source src="/audios/audio.mp3" /><source src="/audios/audio.ogg" /></audio>)
,
%(audio_tag(["audio.mp3", "audio.ogg"], :autobuffer => true, :controls => true))
=>
%(<audio autobuffer="autobuffer" controls="controls"><source src="/audios/audio.mp3" /><source src="/audios/audio.ogg" /></audio>)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录