0

オブジェクトの並べ替え可能なリストの設定に関するRyan Bates のrails チュートリアルに従いました。いくつかの変更を加えて、「has many」ページに「belongs to」要素のリストをドラッグアンドドロップできるようになり、投稿アクションがコントローラーに送信されます...その後、500エラーが発生します

NoMethodError (予期しないときに nil オブジェクトを取得しました! Array のインスタンスを予期していた可能性があります。nil.each_with_index の評価中にエラーが発生しました): app/controllers/cuttings_controller.rb:87:in `sort'

これは、Ryan のコントローラーがどのカットを扱っているかを認識していたのに対し、私のコントローラーにはパラメーターが渡される必要があるためだと思います。

これが私のユーザーページの行です(「切り抜き」を保持しています):

<%= 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 を試しましたが、うまくいきませんでした。post ルートは以下を使用して設定されます。

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

...これは少し醜いですが、それを機能させる唯一の方法です!

前もって感謝します。

4

1 に答える 1

0

私はこの投稿を読んでこれに答えました.paramsは、私が対処しようとしていたソート可能な要素である「faqs」と一致しませんでした。やり方がわかれば簡単!

于 2011-10-20T20:13:07.427 に答える