rails处理单个和多个返回的对象

时间:2010-09-07 04:49:16

标签: ruby-on-rails loops nested-forms

在rails中你可以使用.each do ||循环返回查询的返回结果。但如果只返回一行呢?或者你有0,1或者多的可能性?如何在不抛出错误的情况下处理这些场景?

这种情况特别是我接受ryan的铁路广播博客(http://railscasts.com/episodes/196-nested-model-form-part-1)后的嵌套属性

我可以返回1个或多个嵌套项,然后我需要循环并编写XML表单。

1 个答案:

答案 0 :(得分:1)

当您使用#each循环查看一组结果时,您无需担心返回了多少结果。如果为零,则数组中不会有任何元素传递给循环;如果一个,只有一个。如果更多,则每个都传递给循环。在每种情况下,只要你只是循环一个数组,无论数组是否为空,或者如果它有一千个元素,相同的循环代码将运行而没有错误。

通过示例,我可以使用不同数量的元素循环遍历数组而没有任何问题:

ree-1.8.7-2010.02 > [].each {|e| puts e }
 => []
ree-1.8.7-2010.02 > [1].each {|e| puts e }
1
 => [1]
ree-1.8.7-2010.02 > [1,2,3].each {|e| puts e }
1
2
3
 => [1, 2, 3]