我想在我的rails app中使用拖放功能。我试图通过观看
来做到这一点http://railscasts.com/episodes/147-sortable-lists
在我的情况下,我有两个模型一个是项目,另一个是任务模型。 项目模型:
class Project < ActiveRecord::Base
attr_accessible :title, :user_id
belongs_to :user
has_many :tasks
end
任务模型:
class Task < ActiveRecord::Base
attr_accessible :content, :title, :project_id, :project
belongs_to :project
end
现在我想在项目展示页面上拖放可排序列表。在项目展示页面中:
<p>
<b>Title:</b>
<%= @project.title %>
</p>
<p>
<b>User:</b>
<%= @project.user_id %>
</p>
<ul id="tasks">
<% for task in @project.tasks %>
<span4>
<% content_tag_for :li, task do %>
<%= task.title %>
<hr />
<% end %>
</span4>
<% end %>
</ul>
<%= sortable_element("tasks", :url => sort_project_path ) %>
<%= link_to 'Edit', edit_project_path(@project) %> |
<%= link_to 'Back', projects_path %>
在项目conteoller中我有排序方法:
def sort
params[:taks].each_with_index do |id, index|
Task.update_all(['position=?', index+1], ['id=?', id])
end
render :nothing => true
end
在我的路线文件中,我有:
resources :projects do
member do
post :sort
end
end
我按照雨贝茨在视频中说的所有指示,但没有运气。我收到了这个错误。
undefined method `sortable_element' for #<#<Class:0x007f4c6c193a60>:0x007f4c6c199780>
我搜索了它然后我发现这个方法已被弃用。现在我不知道如何做拖放功能,因为我是一个新的蜜蜂。
请帮帮我。 提前谢谢。
答案 0 :(得分:0)
sortable_element
在Rails 3.1中被取消了我害怕。这就是为什么你得到一个找不到方法错误的原因!
我们刚刚将Rails应用升级到3.2,并且遇到了类似的问题。我还没有解决方案,我很害怕。