嵌套sortable_element的正确语法?得到零对象

时间:2011-10-20 09:36:58

标签: ruby-on-rails ruby-on-rails-3 jquery-ui-sortable railscasts

我跟随Ryan Bates'rails tutorial设置了一个可排序的对象列表。通过一些修改,它现在正在工作,我可以在“有很多”页面上拖放“属于”元素的列表,并将后置动作发送到我的控制器...然后给出500错误

  

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

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

以下是我的用户页面上的行(包含'剪辑'):

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

这是切割控制器中的定义:

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

有人会友好地告诉我如何调整它以便它能正常工作吗?我应该通过哪些参数?我试过了:cutting =&gt; @ cutting.id,哪个没用。邮政路线使用以下方式设置:

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

......哪个有点难看,但这是我能让它发挥作用的唯一方法!

提前致谢。

1 个答案:

答案 0 :(得分:0)

我通过阅读this post回答了这个问题 - 这些参数与'faqs'不匹配,这是我试图处理的可排序元素。当你知道怎么做时很简单!