0

我有一个来自下面控制器的片段,它应该按创建日期从最新到最旧排序调查列表。

  # GET /surveys
  def index
    @survey_type = get_survey_type
    @surveys = @survey_type.surveys
    @surveys.order('created_at desc')
  end

出于某种原因,无论我添加还是删除“desc”部分,排序顺序都不会改变。我做了一些

Survey.all.order('created_at')

Survey.all.order('created_at desc')

在 Rails 控制台中进行快速测试,并且排序按预期工作。所以这个片段中的某个地方可能存在问题。

4

1 回答 1

1

你应该有:

@surveys = @surveys.order('created_at DESC')

或者:

@surveys = @survey_type.surveys.order('created_at DESC')

你有这个问题是因为你没有设置@surveysActiveRecord::Relation范围的实例。

于 2013-08-06T13:00:48.453 回答