Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
a794fd2c
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 搜索 >>
提交
a794fd2c
编写于
9月 03, 2014
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #16796 from ARIATeam/aria
Add support for ARIA attributes in tags
上级
b79ab4ca
ee61b76a
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
23 addition
and
4 deletion
+23
-4
actionview/CHANGELOG.md
actionview/CHANGELOG.md
+12
-0
actionview/lib/action_view/helpers/tag_helper.rb
actionview/lib/action_view/helpers/tag_helper.rb
+4
-4
actionview/test/template/tag_helper_test.rb
actionview/test/template/tag_helper_test.rb
+7
-0
未找到文件。
actionview/CHANGELOG.md
浏览文件 @
a794fd2c
*
Add support for ARIA attributes in tags.
Example:
<%= f.text_field :name, aria: { required: "true", hidden: "false" } %>
now generates:
<input aria-hidden="false" aria-required="true" id="user_name" name="user[name]" type="text">
*Paola Garcia Casadiego*
*
Provide a
`builder`
object when using the
`label`
form helper in block form.
The new `builder` object responds to `translation`, allowing I18n fallback support
...
...
actionview/lib/action_view/helpers/tag_helper.rb
浏览文件 @
a794fd2c
...
...
@@ -148,9 +148,9 @@ def tag_options(options, escape = true)
return
if
options
.
blank?
attrs
=
[]
options
.
each_pair
do
|
key
,
value
|
if
key
.
to_s
==
'data'
&&
value
.
is_a?
(
Hash
)
if
(
key
.
to_s
==
'data'
||
key
.
to_s
==
'aria'
)
&&
value
.
is_a?
(
Hash
)
value
.
each_pair
do
|
k
,
v
|
attrs
<<
data_tag_option
(
k
,
v
,
escape
)
attrs
<<
prefix_tag_option
(
key
,
k
,
v
,
escape
)
end
elsif
BOOLEAN_ATTRIBUTES
.
include?
(
key
)
attrs
<<
boolean_tag_option
(
key
)
if
value
...
...
@@ -161,8 +161,8 @@ def tag_options(options, escape = true)
"
#{
attrs
.
sort!
*
' '
}
"
unless
attrs
.
empty?
end
def
data_tag_option
(
key
,
value
,
escape
)
key
=
"data
-
#{
key
.
to_s
.
dasherize
}
"
def
prefix_tag_option
(
prefix
,
key
,
value
,
escape
)
key
=
"
#{
prefix
}
-
#{
key
.
to_s
.
dasherize
}
"
unless
value
.
is_a?
(
String
)
||
value
.
is_a?
(
Symbol
)
||
value
.
is_a?
(
BigDecimal
)
value
=
value
.
to_json
end
...
...
actionview/test/template/tag_helper_test.rb
浏览文件 @
a794fd2c
...
...
@@ -156,4 +156,11 @@ def test_data_attributes
tag
(
'a'
,
{
data
=>
{
a_float:
3.14
,
a_big_decimal:
BigDecimal
.
new
(
"-123.456"
),
a_number:
1
,
string:
'hello'
,
symbol: :foo
,
array:
[
1
,
2
,
3
],
hash:
{
key:
'value'
},
string_with_quotes:
'double"quote"party"'
}
})
}
end
def
test_aria_attributes
[
'aria'
,
:aria
].
each
{
|
aria
|
assert_dom_equal
'<a aria-a-float="3.14" aria-a-big-decimal="-123.456" aria-a-number="1" aria-array="[1,2,3]" aria-hash="{"key":"value"}" aria-string-with-quotes="double"quote"party"" aria-string="hello" aria-symbol="foo" />'
,
tag
(
'a'
,
{
aria
=>
{
a_float:
3.14
,
a_big_decimal:
BigDecimal
.
new
(
"-123.456"
),
a_number:
1
,
string:
'hello'
,
symbol: :foo
,
array:
[
1
,
2
,
3
],
hash:
{
key:
'value'
},
string_with_quotes:
'double"quote"party"'
}
})
}
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录