Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
ae46546e
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,发现更多精彩内容 >>
未验证
提交
ae46546e
编写于
5月 10, 2020
作者:
R
Ryuta Kamizono
提交者:
GitHub
5月 10, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #39210 from kamipo/fix_kernel_open
Eager generate relation methods if a method is on `Kernel`
上级
d9539281
981299e3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
11 addition
and
0 deletion
+11
-0
activerecord/lib/active_record/scoping/named.rb
activerecord/lib/active_record/scoping/named.rb
+4
-0
activerecord/test/cases/relations_test.rb
activerecord/test/cases/relations_test.rb
+2
-0
activerecord/test/models/reply.rb
activerecord/test/models/reply.rb
+4
-0
activerecord/test/models/topic.rb
activerecord/test/models/topic.rb
+1
-0
未找到文件。
activerecord/lib/active_record/scoping/named.rb
浏览文件 @
ae46546e
...
...
@@ -198,6 +198,10 @@ def scope(name, body, &block)
end
private
def
singleton_method_added
(
name
)
generate_relation_method
(
name
)
if
Kernel
.
respond_to?
(
name
)
end
def
valid_scope_name?
(
name
)
if
respond_to?
(
name
,
true
)
&&
logger
logger
.
warn
"Creating scope :
#{
name
}
. "
\
...
...
activerecord/test/cases/relations_test.rb
浏览文件 @
ae46546e
...
...
@@ -2119,6 +2119,8 @@ def test_relation_with_private_kernel_method
sub_accounts
=
SubAccount
.
all
assert_equal
[
accounts
(
:signals37
)],
sub_accounts
.
open
assert_equal
[
accounts
(
:signals37
)],
sub_accounts
.
available
assert_equal
[
topics
(
:second
)],
topics
(
:first
).
open_replies
end
def
test_where_with_take_memoization
...
...
activerecord/test/models/reply.rb
浏览文件 @
ae46546e
...
...
@@ -9,6 +9,10 @@ class Reply < Topic
has_many
:silly_unique_replies
,
dependent: :destroy
,
foreign_key:
"parent_id"
scope
:ordered
,
->
{
Reply
.
order
(
:id
)
}
def
self
.
open
approved
end
end
class
SillyReply
<
Topic
...
...
activerecord/test/models/topic.rb
浏览文件 @
ae46546e
...
...
@@ -42,6 +42,7 @@ def two
has_many
:replies
,
dependent: :destroy
,
foreign_key:
"parent_id"
,
autosave:
true
has_many
:approved_replies
,
->
{
approved
},
class_name:
"Reply"
,
foreign_key:
"parent_id"
,
counter_cache:
"replies_count"
has_many
:open_replies
,
->
{
open
},
class_name:
"Reply"
,
foreign_key:
"parent_id"
has_many
:unique_replies
,
dependent: :destroy
,
foreign_key:
"parent_id"
has_many
:silly_unique_replies
,
dependent: :destroy
,
foreign_key:
"parent_id"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录