Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
135d704a
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,发现更多精彩内容 >>
提交
135d704a
编写于
9月 08, 2011
作者:
J
Jonathan Mukai & Peter Jaros
提交者:
Peter Jaros
3月 28, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Nested attribute setters can be overridden.
Overriding implementation can call super.
上级
ddaeb4b6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
1 deletion
+15
-1
activerecord/lib/active_record/nested_attributes.rb
activerecord/lib/active_record/nested_attributes.rb
+1
-1
activerecord/test/cases/nested_attributes_test.rb
activerecord/test/cases/nested_attributes_test.rb
+13
-0
activerecord/test/schema/schema.rb
activerecord/test/schema/schema.rb
+1
-0
未找到文件。
activerecord/lib/active_record/nested_attributes.rb
浏览文件 @
135d704a
...
...
@@ -288,7 +288,7 @@ def accepts_nested_attributes_for(*attr_names)
# def pirate_attributes=(attributes)
# assign_nested_attributes_for_one_to_one_association(:pirate, attributes, mass_assignment_options)
# end
class
_eval
<<-
eoruby
,
__FILE__
,
__LINE__
+
1
generated_feature_methods
.
module
_eval
<<-
eoruby
,
__FILE__
,
__LINE__
+
1
if method_defined?(:
#{
association_name
}
_attributes=)
remove_method(:
#{
association_name
}
_attributes=)
end
...
...
activerecord/test/cases/nested_attributes_test.rb
浏览文件 @
135d704a
...
...
@@ -172,6 +172,19 @@ def test_first_and_array_index_zero_methods_return_the_same_value_when_nested_at
man
.
interests_attributes
=
[{
:id
=>
interest
.
id
,
:topic
=>
'gardening'
}]
assert_equal
man
.
interests
.
first
.
topic
,
man
.
interests
[
0
].
topic
end
def
test_allows_class_to_override_setter_and_call_super
mean_pirate_class
=
Class
.
new
(
Pirate
)
do
accepts_nested_attributes_for
:parrot
def
parrot_attributes
=
(
attrs
)
super
(
attrs
.
merge
(
:color
=>
"blue"
))
end
end
mean_pirate
=
mean_pirate_class
.
new
mean_pirate
.
parrot_attributes
=
{
:name
=>
"James"
}
assert_equal
"James"
,
mean_pirate
.
parrot
.
name
assert_equal
"blue"
,
mean_pirate
.
parrot
.
color
end
end
class
TestNestedAttributesOnAHasOneAssociation
<
ActiveRecord
::
TestCase
...
...
activerecord/test/schema/schema.rb
浏览文件 @
135d704a
...
...
@@ -439,6 +439,7 @@ def create_table(*args, &block)
create_table
:parrots
,
:force
=>
true
do
|
t
|
t
.
column
:name
,
:string
t
.
column
:color
,
:string
t
.
column
:parrot_sti_class
,
:string
t
.
column
:killer_id
,
:integer
t
.
column
:created_at
,
:datetime
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录