说我只是简单地运行了rails g scaffold book name:string about:text
在'show'视图中,我如何实现一个按钮来转到模型中的下一个项目。
我不能简单地执行@next = @book.id + 1
,因为如果@book.id = 2
(例如)和我点击了ID为3的书籍,那么会导致页面损坏。
答案 0 :(得分:12)
你可以这样做:
@next = Book.first(:conditions => ['id > ?', @book.id], :order => 'id ASC')
请记住检查@next不是nil
为了更酷,您可以在模型中创建一个方法,如下所示:
def next
Book.first(:conditions => ['id > ?', self.id], :order => 'id ASC')
end
然后,如果您有@book,您应该可以像
一样调用它@book.next
最近没有在RoR中写过任何东西,但这对我来说看起来很合理;)