我有一个个人资料视图,其中列出了用户提交的所有问题/博客帖子。在其他视图中,order("created_at desc")
正常工作,没有任何错误。但是,在我的个人资料视图中,即使我写了@questions = Question.all.order("created_at desc")
它仍然显示错误。为了更好地举例说明这个问题,这里是当前正在发生的事情的图像。
正如您所看到的,由于我定义了问题应按降序显示,因此不应首先显示新测试标题编号吗?
我的家庭主管:
class HomeController < ApplicationController
def index
@questions = Question.all.order("created_at desc")
@blogs = Blog.all.order("created_at desc")
end
def profile
@user = User.find(params[:id])
@answer = Answer.all.order("created_at")
@questions = Question.all.order('created_at DESC')
@blogs = Blog.all.order("created_at desc")
end
end
我在个人资料视图中使用的循环:
<% @user.questions.each do |question| %>
<%= link_to question.title, question_path(question), :class => "ques" %>
<p class="pull-right">
<%= link_to question.user.username, question.user, :class => "bg" %>
</p>
<hr/>
<% end %>
P.S: @blogs
做同样的事情。
答案 0 :(得分:2)
问题是您已在@questions = Question.all.order('created_at DESC')
方法中定义profile
,但未在视图中使用(您在视图中有@user.questions
与@questions
不同。此外,@questions
为您提供所有问题,而非特定用户问题。你应该把它改为
@questions = @user.questions.order('created_at DESC')
在视图中
<% @questions.each do |question| %>
<%= link_to question.title, question_path(question), :class => "ques" %>
<p class="pull-right">
<%= link_to question.user.username, question.user, :class => "bg" %>
</p>
<hr/>
<% end %>