Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
8f6e5986
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,发现更多精彩内容 >>
提交
8f6e5986
编写于
5月 13, 2014
作者:
K
Kassio Borges
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix how to compute class name on habtm namespaced.
Thank's for @laurocaetano for the help with tests.
😃
Fixes #14709
上级
c6c16423
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
42 addition
and
1 deletion
+42
-1
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+6
-0
activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rb
...ve_record/associations/builder/has_and_belongs_to_many.rb
+5
-1
activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb
...associations/has_and_belongs_to_many_associations_test.rb
+12
-0
activerecord/test/models/publisher.rb
activerecord/test/models/publisher.rb
+2
-0
activerecord/test/models/publisher/article.rb
activerecord/test/models/publisher/article.rb
+3
-0
activerecord/test/models/publisher/magazine.rb
activerecord/test/models/publisher/magazine.rb
+3
-0
activerecord/test/schema/schema.rb
activerecord/test/schema/schema.rb
+11
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
8f6e5986
*
Fix how to calculate associated class name when using
`habtm`
namespaced.
Fixes #14709.
*Kassio Borges*
*
`change_column_default`
allows
`[]`
as argument to
`change_column_default`
.
Fixes #11586.
...
...
activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rb
浏览文件 @
8f6e5986
...
...
@@ -23,7 +23,11 @@ def self.build(lhs_class, name, options)
KnownTable
.
new
options
[
:join_table
].
to_s
else
class_name
=
options
.
fetch
(
:class_name
)
{
name
.
to_s
.
camelize
.
singularize
model_name
=
name
.
to_s
.
camelize
.
singularize
if
parent_name
=
lhs_class
.
parent_name
.
presence
model_name
=
model_name
.
prepend
(
"
#{
parent_name
}
::"
)
end
model_name
}
KnownClass
.
new
lhs_class
,
class_name
end
...
...
activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb
浏览文件 @
8f6e5986
...
...
@@ -22,6 +22,9 @@
require
'models/country'
require
'models/treaty'
require
'models/vertex'
require
'models/publisher'
require
'models/publisher/article'
require
'models/publisher/magazine'
require
'active_support/core_ext/string/conversions'
class
ProjectWithAfterCreateHook
<
ActiveRecord
::
Base
...
...
@@ -848,4 +851,13 @@ def test_association_with_validate_false_does_not_run_associated_validation_call
def
test_custom_join_table
assert_equal
'edges'
,
Vertex
.
reflect_on_association
(
:sources
).
join_table
end
def
test_namespaced_habtm
magazine
=
Publisher
::
Magazine
.
create
article
=
Publisher
::
Article
.
create
magazine
.
articles
<<
article
magazine
.
save
assert_includes
magazine
.
articles
,
article
end
end
activerecord/test/models/publisher.rb
0 → 100644
浏览文件 @
8f6e5986
module
Publisher
end
activerecord/test/models/publisher/article.rb
0 → 100644
浏览文件 @
8f6e5986
class
Publisher::Article
<
ActiveRecord
::
Base
has_and_belongs_to_many
:magazines
end
activerecord/test/models/publisher/magazine.rb
0 → 100644
浏览文件 @
8f6e5986
class
Publisher::Magazine
<
ActiveRecord
::
Base
has_and_belongs_to_many
:articles
end
activerecord/test/schema/schema.rb
浏览文件 @
8f6e5986
...
...
@@ -62,6 +62,14 @@ def create_table(*args, &block)
t
.
string
:name
end
create_table
:articles
,
force:
true
do
|
t
|
end
create_table
:articles_magazines
,
force:
true
do
|
t
|
t
.
references
:article
t
.
references
:magazine
end
create_table
:audit_logs
,
force:
true
do
|
t
|
t
.
column
:message
,
:string
,
null:
false
t
.
column
:developer_id
,
:integer
,
null:
false
...
...
@@ -385,6 +393,9 @@ def create_table(*args, &block)
t
.
column
:custom_lock_version
,
:integer
end
create_table
:magazines
,
force:
true
do
|
t
|
end
create_table
:mateys
,
id:
false
,
force:
true
do
|
t
|
t
.
column
:pirate_id
,
:integer
t
.
column
:target_id
,
:integer
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录