Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
3daff050
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,发现更多精彩内容 >>
提交
3daff050
编写于
1月 16, 2013
作者:
C
Colin Burn-Murdoch
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix date_select :selected option so you can pass it nil
上级
555cb0af
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
65 addition
and
2 deletion
+65
-2
actionpack/lib/action_view/helpers/tags/date_select.rb
actionpack/lib/action_view/helpers/tags/date_select.rb
+1
-1
actionpack/test/template/date_helper_test.rb
actionpack/test/template/date_helper_test.rb
+64
-1
未找到文件。
actionpack/lib/action_view/helpers/tags/date_select.rb
浏览文件 @
3daff050
...
...
@@ -27,7 +27,7 @@ def select_type
end
def
datetime_selector
(
options
,
html_options
)
datetime
=
options
[
:selected
]
||
value
(
object
)
||
default_datetime
(
options
)
datetime
=
options
.
fetch
(
:selected
)
{
value
(
object
)
||
default_datetime
(
options
)
}
@auto_index
||=
nil
options
=
options
.
dup
...
...
actionpack/test/template/date_helper_test.rb
浏览文件 @
3daff050
...
...
@@ -1529,7 +1529,24 @@ def test_date_select_with_selected
expected
<<
"</select>
\n
"
assert_dom_equal
expected
,
date_select
(
"post"
,
"written_on"
,
:selected
=>
Date
.
new
(
2004
,
07
,
10
))
end
def
test_date_select_with_selected_nil
@post
=
Post
.
new
@post
.
written_on
=
Date
.
new
(
2004
,
6
,
15
)
expected
=
'<input id="post_written_on_1i" name="post[written_on(1i)]" type="hidden" value="1"/>'
+
"
\n
"
expected
<<
%{<select id="post_written_on_2i" name="post[written_on(2i)]">\n}
expected
<<
%{<option value=""></option>\n<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
expected
<<
"</select>
\n
"
expected
<<
%{<select id="post_written_on_3i" name="post[written_on(3i)]">\n}
expected
<<
%{<option value=""></option>\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
expected
<<
"</select>
\n
"
assert_dom_equal
expected
,
date_select
(
"post"
,
"written_on"
,
include_blank:
true
,
discard_year:
true
,
selected:
nil
)
end
def
test_date_select_without_day
...
...
@@ -2005,7 +2022,26 @@ def test_time_select_with_selected
0
.
upto
(
59
)
{
|
i
|
expected
<<
%(<option value="#{sprintf("%02d", i)}"#{' selected="selected"' if i == 20}>#{sprintf("%02d", i)}</option>\n)
}
expected
<<
"</select>
\n
"
assert_dom_equal
expected
,
time_select
(
"post"
,
"written_on"
,
:selected
=>
Time
.
local
(
2004
,
6
,
15
,
12
,
20
,
30
))
assert_dom_equal
expected
,
time_select
(
"post"
,
"written_on"
,
selected:
Time
.
local
(
2004
,
6
,
15
,
12
,
20
,
30
))
end
def
test_time_select_with_selected_nil
@post
=
Post
.
new
@post
.
written_on
=
Time
.
local
(
2004
,
6
,
15
,
15
,
16
,
35
)
expected
=
%{<input type="hidden" id="post_written_on_1i" name="post[written_on(1i)]" value="1" />\n}
expected
<<
%{<input type="hidden" id="post_written_on_2i" name="post[written_on(2i)]" value="1" />\n}
expected
<<
%{<input type="hidden" id="post_written_on_3i" name="post[written_on(3i)]" value="1" />\n}
expected
<<
%(<select id="post_written_on_4i" name="post[written_on(4i)]">\n)
0
.
upto
(
23
)
{
|
i
|
expected
<<
%(<option value="#{sprintf("%02d", i)}">#{sprintf("%02d", i)}</option>\n)
}
expected
<<
"</select>
\n
"
expected
<<
" : "
expected
<<
%(<select id="post_written_on_5i" name="post[written_on(5i)]">\n)
0
.
upto
(
59
)
{
|
i
|
expected
<<
%(<option value="#{sprintf("%02d", i)}">#{sprintf("%02d", i)}</option>\n)
}
expected
<<
"</select>
\n
"
assert_dom_equal
expected
,
time_select
(
"post"
,
"written_on"
,
discard_year:
true
,
discard_month:
true
,
discard_day:
true
,
selected:
nil
)
end
def
test_time_select_without_date_hidden_fields
...
...
@@ -2234,6 +2270,33 @@ def test_datetime_select_with_selected
assert_dom_equal
expected
,
datetime_select
(
"post"
,
"updated_at"
,
:selected
=>
Time
.
local
(
2004
,
3
,
10
,
12
,
30
))
end
def
test_datetime_select_with_selected_nil
@post
=
Post
.
new
@post
.
updated_at
=
Time
.
local
(
2004
,
6
,
15
,
16
,
35
)
expected
=
'<input id="post_updated_at_1i" name="post[updated_at(1i)]" type="hidden" value="1"/>'
+
"
\n
"
expected
<<
%{<select id="post_updated_at_2i" name="post[updated_at(2i)]">\n}
expected
<<
%{<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n}
expected
<<
"</select>
\n
"
expected
<<
%{<select id="post_updated_at_3i" name="post[updated_at(3i)]">\n}
expected
<<
%{<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n}
expected
<<
"</select>
\n
"
expected
<<
" — "
expected
<<
%{<select id="post_updated_at_4i" name="post[updated_at(4i)]">\n}
expected
<<
%{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n}
expected
<<
"</select>
\n
"
expected
<<
" : "
expected
<<
%{<select id="post_updated_at_5i" name="post[updated_at(5i)]">\n}
expected
<<
%{<option value="00">00</option>\n<option value="01">01</option>\n<option value="02">02</option>\n<option value="03">03</option>\n<option value="04">04</option>\n<option value="05">05</option>\n<option value="06">06</option>\n<option value="07">07</option>\n<option value="08">08</option>\n<option value="09">09</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n<option value="32">32</option>\n<option value="33">33</option>\n<option value="34">34</option>\n<option value="35">35</option>\n<option value="36">36</option>\n<option value="37">37</option>\n<option value="38">38</option>\n<option value="39">39</option>\n<option value="40">40</option>\n<option value="41">41</option>\n<option value="42">42</option>\n<option value="43">43</option>\n<option value="44">44</option>\n<option value="45">45</option>\n<option value="46">46</option>\n<option value="47">47</option>\n<option value="48">48</option>\n<option value="49">49</option>\n<option value="50">50</option>\n<option value="51">51</option>\n<option value="52">52</option>\n<option value="53">53</option>\n<option value="54">54</option>\n<option value="55">55</option>\n<option value="56">56</option>\n<option value="57">57</option>\n<option value="58">58</option>\n<option value="59">59</option>\n}
expected
<<
"</select>
\n
"
assert_dom_equal
expected
,
datetime_select
(
"post"
,
"updated_at"
,
discard_year:
true
,
selected:
nil
)
end
def
test_datetime_select_defaults_to_time_zone_now_when_config_time_zone_is_set
# The love zone is UTC+0
mytz
=
Class
.
new
(
ActiveSupport
::
TimeZone
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录