1

これを機能させるためにいくつかのチュートリアルに従いましたが、ドラッグ可能なアイテムを取得できません。これが私がしたことです:

私のGemFileに追加gem 'acts_as_list'し、bundle install

<%= javascript_include_tag :defaults %>私のapplication.html.erbに追加されました

施設にposition:integerという名前の列を追加しました。

acts_as_list私の施設モデルに追加されました。

私の施設モデルにsortメソッドを追加しました:

 def sort
   @facilities = Facility.all
   @facilities.each do |f|
     f.position = params['f'].index(f.id.to_s) + 1
     f.save
   end
 end

私の見解でこれを追加しました:

<ul id="facilities">
<% for facility in Facility.all %>
  <% content_tag_for :li, facility do %>
    <span class="handle">[drag]</span>
    <%= link_to h(facility.name), facility %>
  <% end %>
<% end %>
</ul>
<%= sortable_element("facilities", :url => sort_facilities_path, :handle => "handle") %>

これをルートに追加しました:

  resources :facilities do  
    collection do  
      post :sort  
    end  
  end

しかし、結局、私は通常のリストしか持っておらず、ドラッグできません!私は何が欠けていますか?

ありがとう!

4

1 に答える 1

2

私が覚えているacts_as_list限り、Railsのモデルのリストのみを扱っています。これは、サーバー側のことを意味します。リスト要素をドラッグ可能にするには、クライアント側のライブラリまたはjQueryUIなどのプラグインを含める必要があります。宝石自体には、説明している機能が含まれていません(または少なくとも使用されていませんでした)。

このライブラリまたはソリューションは、

  1. 要素をドラッグ可能にして
  2. DB内の順序を更新するためのコールバックを提供します(通常はAJAX呼び出しを使用します)
于 2011-06-11T13:21:19.887 に答える