У меня есть приложение rails, которое я пытаюсь настроить с помощью сортируемых списков с помощью плагина act_as_list. Поле позиции в БД обновляется, но при отображении страницы порядок не учитывается. Мне нужна помощь, наверное.
Вот мои модели ...
class QuestionMembership < ActiveRecord::Base
belongs_to :form
belongs_to :question
acts_as_list
end
class Form < ActiveRecord::Base
has_many :question_memberships
has_many :questions, :through => :question_memberships
end
class Question < ActiveRecord::Base
has_many :question_memberships
has_many :forms, :through => :question_memberships
acts_as_list
end
И код небрежного представления, который дает мне список ...
<% @form.question_memberships.each do |qm| %>
<% q_id = "question_#{qm.id}" %>
<li class="question" id=<%= q_id %> >
<div style="color: #999; font-size: 8pt">
<%=h qm.question.content %>
</div>
</li>
<%= draggable_element(q_id, :revert=>true) %>
<% end %>
Перетаскивание работает для изменения порядка. Значение позиции обновляется в БД для объектов QuestionMembership, и на странице фактически отображается переупорядочение. Проблема в том, что при перезагрузке страницы она возвращается по умолчанию в любом порядке. Я думаю, что по умолчанию используется идентификатор вопроса для заказа вместо позиции question_membership, но я не уверен.
Любые идеи о том, как я могу сделать так, чтобы это на самом деле упорядочивалось при начальном рендеринге по полю позиции в вопросном членстве?