Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
9afec163
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,发现更多精彩内容 >>
提交
9afec163
编写于
2月 22, 2018
作者:
S
Serj Prikhodko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Let select render default selected option for required field
上级
39d2cde6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
1 deletion
+36
-1
actionview/CHANGELOG.md
actionview/CHANGELOG.md
+21
-0
actionview/lib/action_view/helpers/tags/base.rb
actionview/lib/action_view/helpers/tags/base.rb
+5
-1
actionview/test/template/form_options_helper_test.rb
actionview/test/template/form_options_helper_test.rb
+10
-0
未找到文件。
actionview/CHANGELOG.md
浏览文件 @
9afec163
## Rails 6.0.0.alpha (Unreleased) ##
*
Enable select tag helper to mark
`prompt`
option as
`selected`
and/or
`disabled`
for
`required`
field. Example:
select :post,
:category,
["lifestyle", "programming", "spiritual"],
{ selected: "", disabled: "", prompt: "Choose one" },
{ required: true }
Placeholder option would be selected and disabled. The HTML produced:
<select
required=
"required"
name=
"post[category]"
id=
"post_category"
>
<option
disabled=
"disabled"
selected=
"selected"
value=
""
>
Choose one
</option>
<option
value=
"lifestyle"
>
lifestyle
</option>
<option
value=
"programming"
>
programming
</option>
<option
value=
"spiritual"
>
spiritual
</option></select>
For details see GH#32080
*Sergey Prikhodko*
*
Don't enforce UTF-8 by default
With the disabling of TLS 1.0 by most major websites, continuing to run
...
...
actionview/lib/action_view/helpers/tags/base.rb
浏览文件 @
9afec163
...
...
@@ -170,7 +170,11 @@ def add_options(option_tags, options, value = nil)
option_tags
=
tag_builder
.
content_tag_string
(
"option"
,
options
[
:include_blank
].
kind_of?
(
String
)
?
options
[
:include_blank
]
:
nil
,
value:
""
)
+
"
\n
"
+
option_tags
end
if
value
.
blank?
&&
options
[
:prompt
]
option_tags
=
tag_builder
.
content_tag_string
(
"option"
,
prompt_text
(
options
[
:prompt
]),
value:
""
)
+
"
\n
"
+
option_tags
tag_options
=
{
value:
""
}.
tap
do
|
prompt_opts
|
prompt_opts
[
:disabled
]
=
true
if
options
[
:disabled
]
==
""
prompt_opts
[
:selected
]
=
true
if
options
[
:selected
]
==
""
end
option_tags
=
tag_builder
.
content_tag_string
(
"option"
,
prompt_text
(
options
[
:prompt
]),
tag_options
)
+
"
\n
"
+
option_tags
end
option_tags
end
...
...
actionview/test/template/form_options_helper_test.rb
浏览文件 @
9afec163
...
...
@@ -511,6 +511,16 @@ def test_select_without_multiple
)
end
def
test_required_select_with_default_and_selected_placeholder
assert_dom_equal
(
[
'<select required="required" name="post[category]" id="post_category"><option disabled="disabled" selected="selected" value="">Choose one</option>'
,
'<option value="lifestyle">lifestyle</option>'
,
'<option value="programming">programming</option>'
,
'<option value="spiritual">spiritual</option></select>'
].
join
(
"
\n
"
),
select
(
:post
,
:category
,
[
"lifestyle"
,
"programming"
,
"spiritual"
],
{
selected:
""
,
disabled:
""
,
prompt:
"Choose one"
},
{
required:
true
})
)
end
def
test_select_with_grouped_collection_as_nested_array
@post
=
Post
.
new
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录