0

我按照 Ryan Bates 的rails 教程设置了可排序的对象列表。经过一些修改,它现在可以在“有很多”页面上拖放“属于”元素列表,并将发布操作发送到我的控制器......然后给出 500 错误

NoMethodError(当你没有预料到它时你有一个 nil 对象!你可能期望一个 Array 的实例。在评估 nil.each_with_index 时发生错误):app/controllers/cuttings_controller.rb:87:in `sort'

我相信这是因为虽然 Ryan 的控制器知道它正在处理哪个切割,但我需要传递给它的参数。

这是我的用户页面上的行(包含“cuttings”):

<%= sortable_element('faqs', :url => 'sort_cutting', :handle => "handle") %>

这是cuttings控制器中的定义:

  def sort
    params[:cuttings].each_with_index do |id, index|
      Cutting.update_all(['position=?', index+1], ['id=?', id])
    end
    render :nothing => true
  end

有人能告诉我如何调整它以使其正常工作吗?我应该传递哪些参数?我试过:cutting => @cutting.id,但没用。使用以下方式设置发布路线:

match 'users/sort_cutting' => 'cuttings#sort'

......这有点难看,但我能让它工作的唯一方法!

提前致谢。

4

1 回答 1

0

我通过阅读这篇文章回答了这个问题- 参数与我试图处理的可排序元素“常见问题解答”不匹配。当你知道怎么做时很简单!

于 2011-10-20T20:13:07.427 回答