Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
91183baa
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,发现更多精彩内容 >>
提交
91183baa
编写于
9月 05, 2012
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7337 from adzap/string_to_dummy_time
Fix for time type columns with invalid time value
上级
9e0a14f5
acf583a5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
1 deletion
+23
-1
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+4
-0
activerecord/lib/active_record/connection_adapters/column.rb
activerecord/lib/active_record/connection_adapters/column.rb
+7
-1
activerecord/test/cases/base_test.rb
activerecord/test/cases/base_test.rb
+12
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
91183baa
## Rails 4.0.0 (unreleased) ##
*
Fix time column type casting for invalid time string values to correctly return nil.
*Adam Meehan*
*
Allow to pass Symbol or Proc into :limit option of #accepts_nested_attributes_for
*Mikhail Dieterle*
...
...
activerecord/lib/active_record/connection_adapters/column.rb
浏览文件 @
91183baa
...
...
@@ -178,7 +178,13 @@ def string_to_dummy_time(string)
return
string
unless
string
.
is_a?
(
String
)
return
nil
if
string
.
blank?
string_to_time
"2000-01-01
#{
string
}
"
dummy_time_string
=
"2000-01-01
#{
string
}
"
fast_string_to_time
(
dummy_time_string
)
||
begin
time_hash
=
Date
.
_parse
(
dummy_time_string
)
return
nil
if
time_hash
[
:hour
].
nil?
new_time
(
*
time_hash
.
values_at
(
:year
,
:mon
,
:mday
,
:hour
,
:min
,
:sec
,
:sec_fraction
))
end
end
# convert something to a boolean
...
...
activerecord/test/cases/base_test.rb
浏览文件 @
91183baa
...
...
@@ -970,6 +970,18 @@ def test_attributes_on_dummy_time
assert_equal
Time
.
local
(
2000
,
1
,
1
,
5
,
42
,
0
),
topic
.
bonus_time
end
def
test_attributes_on_dummy_time_with_invalid_time
# Oracle, and Sybase do not have a TIME datatype.
return
true
if
current_adapter?
(
:OracleAdapter
,
:SybaseAdapter
)
attributes
=
{
"bonus_time"
=>
"not a time"
}
topic
=
Topic
.
find
(
1
)
topic
.
attributes
=
attributes
assert_nil
topic
.
bonus_time
end
def
test_boolean
b_nil
=
Boolean
.
create
({
"value"
=>
nil
})
nil_id
=
b_nil
.
id
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录