Rails:处理嵌套路由时的上一个/下一个记录

时间:2013-07-12 23:07:00

标签: ruby-on-rails ruby ruby-on-rails-3.2

我可以在我的应用程序中显示上一个和下一个链接,但是我想弄清楚如果我的链接有嵌套路由会发生什么?

例如,我的链接是

  localhost:3000/users/1/photos/2

我的模型中有这些:

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

  def next_img
    self.class.first(:conditions => ["created_at > ?", created_at], :order => "created_at asc")
  end

在我看来,我有这个:

  <%= link_to "Previous", @photo.previous_img if @photo.previous_img %>
  <%= link_to "Next", @photo.next_img if @photo.next_img %>

这些链接会将我引导至没有users/1的链接,它只会给我

  localhost:3000/photos/1 # for previous
  localhost:3000/photos/3 # for next

有没有办法可以连接users/1或实际获取嵌套路由的方法?

由于

1 个答案:

答案 0 :(得分:1)

您应该能够使用user_photo_path获取嵌套链接:

<%= link_to "Previous", user_photo_path(@photo.user, @photo.previous_img) if @photo.previous_img %>