我按照了几个教程来完成这项工作,但我无法获得可拖动的项目。 这就是我所做的:
在我的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
但最后我只有一个正常的名单,不能拖延! 我错过了什么?
谢谢!
答案 0 :(得分:2)
据我所知,acts_as_list
只处理Rails模型中的列表,这意味着服务器端的事物。为了使列表元素可拖动,您必须包含客户端库或插件,例如jQuery UI。宝石本身不会(或至少不会使用)包含您所描述的功能。
此库或解决方案将