Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
1edc7cd7
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,发现更多精彩内容 >>
提交
1edc7cd7
编写于
8月 12, 2012
作者:
E
Evan Tann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add support for start_hour and end_hour options in select_hour helper
Updated documentation to demonstrate start_hour and end_hour options
上级
1ce64095
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
42 addition
and
1 deletion
+42
-1
actionpack/CHANGELOG.md
actionpack/CHANGELOG.md
+2
-0
actionpack/lib/action_view/helpers/date_helper.rb
actionpack/lib/action_view/helpers/date_helper.rb
+11
-1
actionpack/test/template/date_helper_test.rb
actionpack/test/template/date_helper_test.rb
+29
-0
未找到文件。
actionpack/CHANGELOG.md
浏览文件 @
1edc7cd7
## Rails 4.0.0 (unreleased) ##
*
Add start_hour and end_hour options to the select_hour helper.
*Evan Tann*
*
Raises an ArgumentError when the first argument in
`form_for`
contain
`nil`
or is empty.
...
...
actionpack/lib/action_view/helpers/date_helper.rb
浏览文件 @
1edc7cd7
...
...
@@ -427,6 +427,9 @@ def select_date(date = Date.current, options = {}, html_options = {})
# # Generate a time select field with hours in the AM/PM format
# select_time(my_time, :ampm => true)
#
# # Generates a time select field with hours that range from 2 to 14
# select_time(my_time, :start_hour => 2, :end_hour => 14)
#
# # Generates a time select with a custom prompt. Use <tt>:prompt</tt> to true for generic prompts.
# select_time(my_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
# select_time(my_time, :prompt => {:hour => true}) # generic prompt for hours
...
...
@@ -504,6 +507,9 @@ def select_minute(datetime, options = {}, html_options = {})
#
# # Generate a select field for hours in the AM/PM format
# select_hour(my_time, :ampm => true)
#
# # Generates a select field that includes options for hours from 2 to 14.
# select_hour(my_time, :start_hour => 2, :end_hour => 14)
def
select_hour
(
datetime
,
options
=
{},
html_options
=
{})
DateTimeSelector
.
new
(
datetime
,
options
,
html_options
).
select_hour
end
...
...
@@ -734,7 +740,11 @@ def select_hour
if
@options
[
:use_hidden
]
||
@options
[
:discard_hour
]
build_hidden
(
:hour
,
hour
)
else
build_options_and_select
(
:hour
,
hour
,
:end
=>
23
,
:ampm
=>
@options
[
:ampm
])
options
=
{}
options
[
:ampm
]
=
@options
[
:ampm
]
||
false
options
[
:start
]
=
@options
[
:start_hour
]
||
0
options
[
:end
]
=
@options
[
:end_hour
]
||
23
build_options_and_select
(
:hour
,
hour
,
options
)
end
end
...
...
actionpack/test/template/date_helper_test.rb
浏览文件 @
1edc7cd7
...
...
@@ -1243,6 +1243,35 @@ def test_select_datetime_with_custom_prompt
:prompt
=>
{
:day
=>
'Choose day'
,
:month
=>
'Choose month'
,
:year
=>
'Choose year'
,
:hour
=>
'Choose hour'
,
:minute
=>
'Choose minute'
})
end
def
test_select_datetime_with_custom_hours
expected
=
%(<select id="date_first_year" name="date[first][year]">\n)
expected
<<
%(<option value="">Choose year</option>\n<option value="2003" selected="selected">2003</option>\n<option value="2004">2004</option>\n<option value="2005">2005</option>\n)
expected
<<
"</select>
\n
"
expected
<<
%(<select id="date_first_month" name="date[first][month]">\n)
expected
<<
%(<option value="">Choose month</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" selected="selected">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="date_first_day" name="date[first][day]">\n)
expected
<<
%(<option value="">Choose day</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" selected="selected">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="date_first_hour" name="date[first][hour]">\n)
expected
<<
%(<option value="">Choose hour</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" selected="selected">08</option>\n<option value="09">09</option>\n)
expected
<<
"</select>
\n
"
expected
<<
" : "
expected
<<
%(<select id="date_first_minute" name="date[first][minute]">\n)
expected
<<
%(<option value="">Choose minute</option>\n<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" selected="selected">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
,
select_datetime
(
Time
.
mktime
(
2003
,
8
,
16
,
8
,
4
,
18
),
:start_year
=>
2003
,
:end_year
=>
2005
,
:start_hour
=>
1
,
:end_hour
=>
9
,
:prefix
=>
"date[first]"
,
:prompt
=>
{
:day
=>
'Choose day'
,
:month
=>
'Choose month'
,
:year
=>
'Choose year'
,
:hour
=>
'Choose hour'
,
:minute
=>
'Choose minute'
})
end
def
test_select_datetime_with_hidden
expected
=
%(<input id="date_first_year" name="date[first][year]" type="hidden" value="2003" />\n)
expected
<<
%(<input id="date_first_month" name="date[first][month]" type="hidden" value="8" />\n)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录