2

在我的应用程序中,我想在我的文章显示视图底部添加一个“上一篇文章”和一个“下一篇文章”链接。

这是我到目前为止所拥有的,但我收到了这个错误:

undefined method `article_path' for #<#<Class:0x007fd7c581af48>:0x007fd7cb8e5968>

我知道路径必须看起来像这样(但我很难实现它)

myapp/users/1/article/1 

铁路新手请帮助...

路线

resources users do
  resources articles
end

楷模

class User < ActiveRecord::Base
 attr_accessible :name, :photo

 has_many :articles

end

class Article < ActiveRecord::Base
  attr_accessible :name

  belongs_to :user

  def next
    user.articles.where("id > ?", id).order("id ASC").first
  end

  def prev
    user.articles.where("id < ?", id).order("id DESC").first
  end

end

意见

文章显示页面 appname/users/1/articles/1

<%= link_to @article.name %>

<%= link_to "next", @article.next %>
<%= link_to "previous", @article.prev %>

控制器

class ArticlesController < ApplicationController

  before_filter :get_publisher

  def get_user
    @user = User.find(params[:user_id])
  end

  def show
    @article = @user.articles.find(params[:id])
  end

  def index
    @articles = @user.articles
  end

end
4

1 回答 1

2

只需使用

<%= link_to 'next', user_article_path(@user, @article.next) %>

并以此类推。

于 2013-10-19T22:01:13.693 回答