Ruby on Rails:获取模型中的下一项

Posted

技术标签:

【中文标题】Ruby on Rails:获取模型中的下一项【英文标题】:Ruby on Rails: Get next item in model 【发布时间】:2011-11-04 19:28:48 【问题描述】:

假设我只是在“显示”视图上运行rails g scaffold book name:string about:text,我将如何实现一个按钮以转到模型中的下一个项目。

我不能简单地做@next = @book.id + 1,因为如果@book.id = 2(例如)我点击了id为3的书上的destroy。这会导致页面损坏。

【问题讨论】:

【参考方案1】:

你可以这样做:

 @next = Book.first(:conditions => ['id > ?', @book.id], :order => 'id ASC')

记得检查@next 是否不为零

为了更酷,您可以像这样在模型中创建一个方法:

def next
  Book.first(:conditions => ['id > ?', self.id], :order => 'id ASC')
end

如果你有@book,你应该可以像这样调用它

@book.next

最近没有在 RoR 中写过任何东西,但这在我看来是合理的;)

【讨论】:

我正要这样做:duanesbrain.blogspot.com/2008/11/…

以上是关于Ruby on Rails:获取模型中的下一项的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:通用获取数组中的下一项

根据前一项的ID获取数组中的下一项[关闭]

Ruby on Rails - 使用符号数组获取对象关联值

Rails:获取下一个/上一个记录

Ruby on Rails 如何获取当前 URL?

使用 Ruby on Rails 从数据库中的 yaml 序列化字段中获取大小数