Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
4df45d86
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,发现更多精彩内容 >>
提交
4df45d86
编写于
9月 15, 2008
作者:
M
Matthew Moore
提交者:
rick
10月 05, 2008
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ActiveResource can load array of strings, like serialize :bar, Array
Signed-off-by:
N
rick
<
technoweenie@gmail.com
>
[#1055 state:resolved]
上级
2bf58aa7
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
26 addition
and
1 deletion
+26
-1
activeresource/lib/active_resource/base.rb
activeresource/lib/active_resource/base.rb
+2
-1
activeresource/test/base_test.rb
activeresource/test/base_test.rb
+24
-0
未找到文件。
activeresource/lib/active_resource/base.rb
浏览文件 @
4df45d86
...
...
@@ -884,6 +884,7 @@ def reload
#
# ==== Examples
# my_attrs = {:name => 'J&J Textiles', :industry => 'Cloth and textiles'}
# my_attrs = {:name => 'Marty', :colors => ["red", "green", "blue"]}
#
# the_supplier = Supplier.find(:first)
# the_supplier.name # => 'J&M Textiles'
...
...
@@ -906,7 +907,7 @@ def load(attributes)
case
value
when
Array
resource
=
find_or_create_resource_for_collection
(
key
)
value
.
map
{
|
attrs
|
resource
.
new
(
attrs
)
}
value
.
map
{
|
attrs
|
attrs
.
is_a?
(
String
)
?
attrs
.
dup
:
resource
.
new
(
attrs
)
}
when
Hash
resource
=
find_or_create_resource_for
(
key
)
resource
.
new
(
value
)
...
...
activeresource/test/base_test.rb
浏览文件 @
4df45d86
...
...
@@ -46,10 +46,24 @@ def setup
:children
=>
[{
:name
=>
'Natacha'
}]},
{
:name
=>
'Milena'
,
:children
=>
[]}]}]}.
to_xml
(
:root
=>
'customer'
)
# - resource with yaml array of strings; for ActiveRecords using serialize :bar, Array
@marty
=
<<-
eof
<?xml version=
\"
1.0
\"
encoding=
\"
UTF-8
\"
?>
<person>
<id type=
\"
integer
\"
>5</id>
<name>Marty</name>
<colors type=
\"
yaml
\"
>---
-
\"
red
\"
-
\"
green
\"
-
\"
blue
\"
</colors>
</person>
eof
ActiveResource
::
HttpMock
.
respond_to
do
|
mock
|
mock
.
get
"/people/1.xml"
,
{},
@matz
mock
.
get
"/people/2.xml"
,
{},
@david
mock
.
get
"/people/5.xml"
,
{},
@marty
mock
.
get
"/people/Greg.xml"
,
{},
@greg
mock
.
get
"/people/4.xml"
,
{
'key'
=>
'value'
},
nil
,
404
mock
.
put
"/people/1.xml"
,
{},
nil
,
204
...
...
@@ -851,4 +865,14 @@ def test_parse_deep_nested_resources
end
end
end
def
test_load_yaml_array
assert_nothing_raised
do
marty
=
Person
.
find
(
5
)
assert_equal
3
,
marty
.
colors
.
size
marty
.
colors
.
each
do
|
color
|
assert_kind_of
String
,
color
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录