Rails,给定一个对象,我该如何找到第二项?有可能没有第二项

时间:2011-10-19 19:06:20

标签: ruby-on-rails ruby-on-rails-3

我希望能够做到:@p = Project.apps&得到列表中的第二项,这是唯一的对象。

想法?

3 个答案:

答案 0 :(得分:0)

如果@p是一个数组,您可以尝试获取第二个对象(索引为1的对象),如果不存在则返回nil @p.fetch(1, nil)。您可以将nil更改为您想要的默认值(即,如果索引不存在,fetch应返回的内容。)

答案 1 :(得分:0)

你可以做@ p.second。如果second为nil,则返回nil,否则返回对象。

答案 2 :(得分:0)

如果您只想要第二个对象使用限制和偏移(SQL中的LIMIT X,Y)

@p=Project.apps.limit(1).offset(1) if Project.apps.count > 1

否则你也可以使用@ p.second或@p [1]。