Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
ebc4d8ce
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,发现更多精彩内容 >>
提交
ebc4d8ce
编写于
9月 05, 2012
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7536 from pivotal/fix_pluck_with_reserved_words
Fix pluck when columns/tables are reserved words.
上级
fdcbc560
c7d752fe
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
21 addition
and
3 deletion
+21
-3
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+4
-0
activerecord/lib/active_record/relation/calculations.rb
activerecord/lib/active_record/relation/calculations.rb
+1
-1
activerecord/test/cases/calculations_test.rb
activerecord/test/cases/calculations_test.rb
+9
-2
activerecord/test/models/possession.rb
activerecord/test/models/possession.rb
+3
-0
activerecord/test/schema/schema.rb
activerecord/test/schema/schema.rb
+4
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
ebc4d8ce
## Rails 4.0.0 (unreleased) ##
*
Fix
`ActiveRecord::Relation#pluck`
when columns or tables are reserved words.
*Ian Lesperance*
*
Fix time column type casting for invalid time string values to correctly return nil.
*Adam Meehan*
...
...
activerecord/lib/active_record/relation/calculations.rb
浏览文件 @
ebc4d8ce
...
...
@@ -156,7 +156,7 @@ def calculate(operation, column_name, options = {})
def
pluck
(
*
column_names
)
column_names
.
map!
do
|
column_name
|
if
column_name
.
is_a?
(
Symbol
)
&&
self
.
column_names
.
include?
(
column_name
.
to_s
)
"
#{
table_name
}
.
#{
column_name
}
"
"
#{
connection
.
quote_table_name
(
table_name
)
}
.
#{
connection
.
quote_column_name
(
column_name
)
}
"
else
column_name
end
...
...
activerecord/test/cases/calculations_test.rb
浏览文件 @
ebc4d8ce
require
"cases/helper"
require
'models/club'
require
'models/company'
require
"models/contract"
require
'models/topic'
require
'models/edge'
require
'models/club'
require
'models/organization'
require
'models/possession'
require
'models/topic'
Company
.
has_many
:accounts
...
...
@@ -576,4 +577,10 @@ def test_pluck_with_multiple_columns_and_includes
assert_equal
[
"37signals"
,
nil
],
companies_and_developers
.
first
assert_equal
[
"test"
,
7
],
companies_and_developers
.
last
end
def
test_pluck_with_reserved_words
Possession
.
create!
(
:where
=>
"Over There"
)
assert_equal
[
"Over There"
],
Possession
.
pluck
(
:where
)
end
end
activerecord/test/models/possession.rb
0 → 100644
浏览文件 @
ebc4d8ce
class
Possession
<
ActiveRecord
::
Base
self
.
table_name
=
'having'
end
activerecord/test/schema/schema.rb
浏览文件 @
ebc4d8ce
...
...
@@ -285,6 +285,10 @@ def create_table(*args, &block)
t
.
string
:info
end
create_table
:having
,
:force
=>
true
do
|
t
|
t
.
string
:where
end
create_table
:guids
,
:force
=>
true
do
|
t
|
t
.
column
:key
,
:string
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录