获得下一条评论的标题

时间:2014-05-25 01:53:48

标签: ruby-on-rails ruby-on-rails-4

在我的评论显示页面的底部,我有一个指向下一条评论的链接。问题是我无法获得下一条评论的标题。

以下是评论模型中的功能:

def next
  post.comments.where("id > ?", id).order("id ASC").first
end

以下是评论控制器:

def show 
  @post = Post.find(params[:post_id])
  @comment = Comment.find params[:id]
  @commentnext = @post.comments.find(params[:id])
end    

这是链接:

<%= link_to (???), post_comment_path(@post, @commentnext.next) %>

我试过了:

<%= link_to "#{@comment.title}", post_comment_path(@post, @commentnext.next) %>

但这给了我评论的标题。

2 个答案:

答案 0 :(得分:3)

假设@commentnext.next是&#34;下一个评论&#34;你引用的是@commentnext.next.title,可能会给你下一个评论的标题。

<%= link_to @commentnext.next.title, post_comment_path(@post, @commentnext.next) %>

如果@commentnext.next返回了ID,请在控制器中使用以下内容:

def show 
  @post = Post.find(params[:post_id])
  @comment = Comment.find params[:id]
  @commentnext = @post.comments.find(params[:id])
  @next_title = Comment.find(@commentnext.next).title
end

然后在你看来:

<%= link_to @next_title, post_comment_path(@post, @commentnext.next) %>

两种解决方案中的一种可能会对您有所帮助。

答案 1 :(得分:3)

从评论中:只使用您链接的同一对象:

<%= link_to @commentnext.next.title, post_comment_path(@post, @commentnext.next) %>