4
假设我只是跑了rails g scaffold book name:string about:text
在'show'视图中,我将如何实现按钮以转到模型中的下一个项目。Ruby on Rails:获取模型中的下一项
我不能简单地做@next = @book.id + 1
,因为如果@book.id = 2
(例如),我点击销毁id为3的书。它会导致一个破损的页面。
假设我只是跑了rails g scaffold book name:string about:text
在'show'视图中,我将如何实现按钮以转到模型中的下一个项目。Ruby on Rails:获取模型中的下一项
我不能简单地做@next = @book.id + 1
,因为如果@book.id = 2
(例如),我点击销毁id为3的书。它会导致一个破损的页面。
你可以这样做:
@next = Book.first(:conditions => ['id > ?', @book.id], :order => 'id ASC')
记住要检查whever @next不是零
要更酷,你可以在模型中创建一个方法,像这样:
def next
Book.first(:conditions => ['id > ?', self.id], :order => 'id ASC')
end
那么如果你有@book,你应该可以调用它,就像
@book.next
最近没有在RoR上写过任何东西,但是这对我来说看起来很合理;)
而我正要做到这一点:http://duanesbrain.blogspot.com/2008/11/ruby-on-rails- get-next-activerecord.html –
很棒,真的很棒。谢谢! –