从实例变量集合中删除最后一项

时间:2011-01-14 04:17:23

标签: ruby-on-rails

由于第4行(无法将Foo转换为数组),以下代码无效。怎么解决它?

def index
  @foos = Foo.all 
  @latest_foo = Foo.last
  @remaining_foos = @foos - @latest_foo
end

这就是为什么我这样做的原因:

我有一个包含5个foos的数据库表。我希望我视图中的第一个项目位于标题为“latest-foo”的div中。我希望所有剩余的foos进入div,其类根据他们在我的列表中的位置在偶数和奇数之间交替。

有人问过similar question一段时间回到railsforum,但方法有点不同。我想我可以使用这个解决方案,但我想看看是否有更好,更清洁或更有效的方式。

1 个答案:

答案 0 :(得分:4)

您可以使用Array#pop轻松完成此操作:

@foos = Foo.all # assuming that they're sorted in the order you want
@latest_foo = @foos.pop

请参阅:http://ruby-doc.org/core/classes/Array.html#M000227