Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
5ffbcf12
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,发现更多精彩内容 >>
提交
5ffbcf12
编写于
8月 11, 2015
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #21165 from manlon/master
use correct DB connection for generated HABTM table
上级
99ae9b16
5ec9e934
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
34 addition
and
3 deletion
+34
-3
activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rb
...ve_record/associations/builder/has_and_belongs_to_many.rb
+7
-3
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/professor.rb
activerecord/test/models/professor.rb
+5
-0
activerecord/test/schema/schema.rb
activerecord/test/schema/schema.rb
+9
-0
activerecord/test/support/connection.rb
activerecord/test/support/connection.rb
+1
-0
未找到文件。
activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rb
浏览文件 @
5ffbcf12
...
...
@@ -46,7 +46,7 @@ def through_model
join_model
=
Class
.
new
(
ActiveRecord
::
Base
)
{
class
<<
self
;
attr_accessor
:
class_resolver
attr_accessor
:
left_model
attr_accessor
:name
attr_accessor
:table_name_resolver
attr_accessor
:left_reflection
...
...
@@ -58,7 +58,7 @@ def self.table_name
end
def
self
.
compute_type
(
class_name
)
class_resolver
.
compute_type
class_name
left_model
.
compute_type
class_name
end
def
self
.
add_left_association
(
name
,
options
)
...
...
@@ -72,11 +72,15 @@ def self.add_right_association(name, options)
self
.
right_reflection
=
_reflect_on_association
(
rhs_name
)
end
def
self
.
retrieve_connection
left_model
.
retrieve_connection
end
}
join_model
.
name
=
"HABTM_
#{
association_name
.
to_s
.
camelize
}
"
join_model
.
table_name_resolver
=
habtm
join_model
.
class_resolver
=
lhs_model
join_model
.
left_model
=
lhs_model
join_model
.
add_left_association
:left_side
,
anonymous_class:
lhs_model
join_model
.
add_right_association
association_name
,
belongs_to_options
(
options
)
...
...
activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb
浏览文件 @
5ffbcf12
...
...
@@ -3,6 +3,7 @@
require
'models/computer'
require
'models/project'
require
'models/company'
require
'models/course'
require
'models/customer'
require
'models/order'
require
'models/categorization'
...
...
@@ -14,6 +15,7 @@
require
'models/parrot'
require
'models/person'
require
'models/pirate'
require
'models/professor'
require
'models/treasure'
require
'models/price_estimate'
require
'models/club'
...
...
@@ -923,4 +925,14 @@ def test_association_force_reload_with_only_true_is_deprecated
assert_deprecated
{
developer
.
projects
(
true
)
}
end
def
test_alternate_database
professor
=
Professor
.
create
(
name:
"Plum"
)
course
=
Course
.
create
(
name:
"Forensics"
)
assert_equal
0
,
professor
.
courses
.
count
assert_nothing_raised
do
professor
.
courses
<<
course
end
assert_equal
1
,
professor
.
courses
.
count
end
end
activerecord/test/models/professor.rb
0 → 100644
浏览文件 @
5ffbcf12
require_dependency
'models/arunit2_model'
class
Professor
<
ARUnit2Model
has_and_belongs_to_many
:courses
end
activerecord/test/schema/schema.rb
浏览文件 @
5ffbcf12
...
...
@@ -939,3 +939,12 @@ def except(adapter_names_to_exclude)
College
.
connection
.
create_table
:colleges
,
force:
true
do
|
t
|
t
.
column
:name
,
:string
,
null:
false
end
Professor
.
connection
.
create_table
:professors
,
force:
true
do
|
t
|
t
.
column
:name
,
:string
,
null:
false
end
Professor
.
connection
.
create_table
:courses_professors
,
id:
false
,
force:
true
do
|
t
|
t
.
references
:course
t
.
references
:professor
end
activerecord/test/support/connection.rb
浏览文件 @
5ffbcf12
require
'active_support/logger'
require
'models/college'
require
'models/course'
require
'models/professor'
module
ARTest
def
self
.
connection_name
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录