Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
fc641a1a
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,体验更适合开发者的 AI 搜索 >>
提交
fc641a1a
编写于
2月 18, 2014
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Don't use `# =>` when it is not the expression values
[ci skip]
上级
967a6dc8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
26 deletion
+26
-26
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+9
-9
guides/source/active_record_querying.md
guides/source/active_record_querying.md
+8
-8
guides/source/upgrading_ruby_on_rails.md
guides/source/upgrading_ruby_on_rails.md
+9
-9
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
fc641a1a
...
...
@@ -13,13 +13,13 @@
end
User.all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User.active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
User.where(state: 'inactive')
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
After:
...
...
@@ -30,13 +30,13 @@
end
User.all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User.active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'active'
User.where(state: 'inactive')
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'inactive'
To get the previous behavior it is needed to explicitly remove the
`default_scope` condition using `unscoped`, `unscope`, `rewhere` or
...
...
@@ -51,13 +51,13 @@
end
User.all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User.active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
User.inactive
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
*
Perform necessary deeper encoding when hstore is inside an array.
...
...
guides/source/active_record_querying.md
浏览文件 @
fc641a1a
...
...
@@ -707,7 +707,7 @@ You can additionally unscope specific where clauses. For example:
```
ruby
Post
.
where
(
id:
10
,
trashed:
false
).
unscope
(
where: :id
)
#
=>
SELECT "posts".* FROM "posts" WHERE trashed = 0
# SELECT "posts".* FROM "posts" WHERE trashed = 0
```
A relation which has used
`unscope`
will affect any relation it is
...
...
@@ -715,7 +715,7 @@ merged in to:
```
ruby
Post
.
order
(
'id asc'
).
merge
(
Post
.
unscope
(
:order
))
#
=>
SELECT "posts".* FROM "posts"
# SELECT "posts".* FROM "posts"
```
### `only`
...
...
@@ -1242,7 +1242,7 @@ class User < ActiveRecord::Base
end
User
.
active
.
inactive
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'active' AND "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'active' AND "users"."state" = 'inactive'
```
We can mix and match
`scope`
and
`where`
conditions and the final sql
...
...
@@ -1250,7 +1250,7 @@ will have all conditions joined with `AND`.
```
ruby
User
.
active
.
where
(
state:
'finished'
)
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'active' AND "users"."state" = 'finished'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'active' AND "users"."state" = 'finished'
```
If we do want the
`last where clause`
to win then
`Relation#merge`
can
...
...
@@ -1258,7 +1258,7 @@ be used.
```
ruby
User
.
active
.
merge
(
User
.
inactive
)
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
```
One important caveat is that
`default_scope`
will be prepended in
...
...
@@ -1272,13 +1272,13 @@ class User < ActiveRecord::Base
end
User
.
all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User
.
active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'active'
User
.
where
(
state:
'inactive'
)
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'inactive'
```
As you can see above the
`default_scope`
is being merged in both
...
...
guides/source/upgrading_ruby_on_rails.md
浏览文件 @
fc641a1a
...
...
@@ -280,13 +280,13 @@ class User < ActiveRecord::Base
end
User
.
all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User
.
active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
User
.
where
(
state:
'inactive'
)
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
```
After:
...
...
@@ -299,13 +299,13 @@ class User < ActiveRecord::Base
end
User
.
all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User
.
active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'active'
User
.
where
(
state:
'inactive'
)
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending' AND "users"."state" = 'inactive'
```
To get the previous behavior it is needed to explicitly remove the
...
...
@@ -320,13 +320,13 @@ class User < ActiveRecord::Base
end
User
.
all
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'pending'
User
.
active
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'active'
User
.
inactive
#
=>
SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
# SELECT "users".* FROM "users" WHERE "users"."state" = 'inactive'
```
Upgrading from Rails 3.2 to Rails 4.0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录