Ruby on rails 3 订购不起作用

Ruby on rails 3 订购不起作用,ruby-on-rails-3,partial-views,Ruby On Rails 3,Partial Views,我在Courseindex方法中以几种方式定义@courses变量: def index @courses = Course.order("title") # @courses = Course.all # @courses = Course.paginate(page: params[:

我在Courseindex方法中以几种方式定义@courses变量:

  def index
    @courses = Course.order("title")                                                                                           
    # @courses = Course.all
    # @courses = Course.paginate(page: params[:page] )
    # @courses = Course.order("subject_id").order("student_level_id")
  end 
我有一个局部视图来显示集合:_course.html.slim:

问题是,在显示课程集时,无论我以何种方式定义@Courses,顺序都不会改变。尽管在rails控制台中,顺序有所不同

更新

这是一个courses/index.html.slim,它是Hartl教程中的一个基本示例

 ul.users
  = render @courses
顺便说一句,在主页/static_pages/home.html.slim的另一个地方,同样的代码片段会导致其他排序

所以,我想知道,可能是某种缓存问题


有什么问题吗?提前谢谢你

我发现我做错了什么

定义了两个单独的@courses实例,每个实例位于两个不同的控制器中,因此我得到的答案不一致,因为只订购了一个实例

为了保持干燥,我从一个控制器开始订购

@courses = Course.order("subject_id").order("student_level_id")
课程模式:

默认范围顺序:courses.subject\u id、courses.student\u level\u id

并将控制器中的所有定义更改为一个简单的过程

此外,我相信我找到了我这个问题的答案:


非常感谢你的帮助

我对你的问题投了否决票,因为你没有提供代码的相关片段,实际上你在课程视图中使用了@coursesI added index.html.slim内容。查看rails服务器输出,查看每次加载页面时它都在执行什么查询。对于上面的示例,它应该类似于按标题从课程顺序中选择课程。*FROM courses ORDER BY title
@courses = Course.order("subject_id").order("student_level_id")