【发布时间】:2014-09-14 20:03:58
【问题描述】:
我正在做一个评论系统,它有点乱。当我需要它以相反的顺序(最新在顶部)时,它会从旧到新列出 cmets。我该怎么做?
代码:(/app/views/cmets/_comment.html.erb)
<%= div_for comment do %>
<p>
<strong>
Posted <%= time_ago_in_words(comment.created_at) %> ago
</strong>
<br/>
<%= comment.body %>
</p>
<% end %>
编辑: 这是 cmets 控制器:
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment].permit(:commenter, :body))
respond_to do |format|
format.html { redirect_to @post }
format.js
end
end
end
【问题讨论】:
-
这与单个评论部分或完全无关。控制器应获取一系列 cmets。
-
我仍然看不到在哪里获取了一系列 cmets。单个评论模板和评论创建操作,没有任何相关性。
-
@D-side 在我的
models/post.rb我有一个has_many :comments。我想我可以在末尾添加, :order => '',但我不知道按什么顺序订购。我试过created_at和created_at DESC -
不,我不是这个意思,但我明白需要什么。显然,您正在查看帖子的相关 cmets,例如
@post.comments,对吗?在没有实际代码的情况下使用for-loop进行标记有点奇怪。
标签: html ruby-on-rails for-loop ruby-on-rails-4