カテゴリモデルの下にネストされているアプリモデルをドラッグアンドドラッグできるようにしたい。
これが私がフォローしようとしたRailscastです。
#Category controller
def move
params[:apps].each_with_index do |id, index|
Category.last.apps.update(['position=?', index+1], ['id=?', Category.last.id])
end
render :nothing => true
end
カテゴリを似たようなもので並べ替えることはできますが、属性を更新しているため、問題が発生しています。これが私がカテゴリーリストをソートする方法です。
def sort
params[:categories].each_with_index do |id, index|
Category.update_all(['position=?', index+1], ['id=?', id])
end
render :nothing => true
end
さらに詳しく調べてみると、Appはカテゴリの属性であるため、App.update_allを実行できない場合を除いて、すべてのアプリを同時に更新できるようにする必要があります。
使ってみました
@category = Category.find(params[:id])
@app = @category.apps.all
しかし、私はカテゴリIDを渡していないので、それがどのカテゴリであるかはわかりません。
これが私の見解です
%ul#apps
- for app in @category.apps
- content_tag_for :li, app do
%span.handle
[drag]
= h app.title
= sortable_element("apps", :url => move_categories_path, :handle => "handle")
どんな助けでも大歓迎です。