Я хочу использовать функции перетаскивания в моих приложениях rails. Я пытался это сделать, наблюдая
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
Теперь я хочу список сортировки перетаскивания на странице проекта show.In странице проекта:
<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>
Я искал его, тогда я нашел, что этот метод устарел. Теперь я понятия не имею, как выполнять функцию перетаскивания, поскольку я новая пчела.
Пожалуйста, помогите мне. заранее спасибо.
sortable_element
был взят в Rails 3.1, и я боюсь. Вот почему вы получаете метод не найденной ошибки!
Мы только что обновили приложение Rails до 3.2 и имеем аналогичные проблемы. Боюсь, у меня нет решения.