Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何实现下一个和上一个链接及其永久链接_Ruby On Rails 3_Pagination - Fatal编程技术网

Ruby on rails 3 如何实现下一个和上一个链接及其永久链接

Ruby on rails 3 如何实现下一个和上一个链接及其永久链接,ruby-on-rails-3,pagination,Ruby On Rails 3,Pagination,我有一个简单的博客应用程序。在我的索引页上,所有的帖子都显示在那里。我想做的是只显示一个页面上的一篇文章,并有下一个和上一个链接。单击“下一步”时,它将根据创建日期转到下一篇文章,浏览器中的url应为实际链接/problems/:id 如有任何建议,我们将不胜感激 谢谢重复您的回答 如果每个标题都是唯一的,您需要按字母顺序排列,请在您的帖子模型中尝试 def previous_post self.class.first(:conditions => ["title < ?", t

我有一个简单的博客应用程序。在我的索引页上,所有的帖子都显示在那里。我想做的是只显示一个页面上的一篇文章,并有下一个和上一个链接。单击“下一步”时,它将根据创建日期转到下一篇文章,浏览器中的url应为实际链接
/problems/:id

如有任何建议,我们将不胜感激

谢谢

重复您的回答

如果每个标题都是唯一的,您需要按字母顺序排列,请在您的帖子模型中尝试

def previous_post
  self.class.first(:conditions => ["title < ?", title], :order => "title desc")
end

def next_post
  self.class.first(:conditions => ["title > ?", title], :order => "title asc")
end
def上一篇文章
self.class.first(:conditions=>[“title<?”,title],:order=>“title desc”)
结束
下一站
self.class.first(:conditions=>[“title>?”,title],:order=>“title asc”)
结束
然后,可以链接到视图中的对象

<%= link_to("Previous Post", @post.previous_post) if @post.previous_post %>
<%= link_to("Next Post", @post.next_post) if @post.next_post %>


未经测试,但它会让你接近。如果您需要不同的排序顺序,您可以将标题更改为任何唯一属性
(在、id等处创建)

如果我是对的,上一篇文章和新的文章方法进入模型,对吗?@post应该保持还是等于?@post应该获得id。所以上一篇文章和下一篇文章的上一个id和下一个id。