Kee*_*son 5 views ruby-on-rails models scaffold
假设我只是rails g scaffold book name:string about:text在'show'视图中运行,我将如何实现一个按钮来转到模型中的下一个项目.
我不能简单地这样做,@next = @book.id + 1因为如果@book.id = 2(例如)和我点击破坏ID为3的书.这将导致页面损坏.
mkk*_*mkk 12
你可以做:
@next = Book.first(:conditions => ['id > ?', @book.id], :order => 'id ASC')
Run Code Online (Sandbox Code Playgroud)
记得检查@next不是零
为了更酷,您可以在模型中创建一个方法,如下所示:
def next
Book.first(:conditions => ['id > ?', self.id], :order => 'id ASC')
end
Run Code Online (Sandbox Code Playgroud)
那么如果你有@book,你应该可以调用它
@book.next
Run Code Online (Sandbox Code Playgroud)
最近没有在RoR写过任何东西,但这对我来说看起来很合理;)
| 归档时间: |
|
| 查看次数: |
1832 次 |
| 最近记录: |