Tôi có ứng dụng đường ray Tôi đang cố gắng thiết lập danh sách có thể sắp xếp bằng plugin actions_as_list. Trường vị trí trong db đang được cập nhật, nhưng khi trang được hiển thị, thứ tự không được xem xét. Tôi đang tìm kiếm một số trợ giúp, tôi đoán vậy.Sử dụng behavior_as_list với has_many: qua đường ray
Dưới đây là mô hình của tôi ...
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
Và mã xem luộm thuộm mà mang lại cho tôi danh sách ...
<% @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 %>
kéo và thả làm việc cho sắp xếp lại. Giá trị vị trí cập nhật trong DB cho các đối tượng QuestionMembership và trang thực sự cho thấy sắp xếp lại chính xác. Vấn đề là trên một trang tải lại, nó mặc định trở lại bất cứ thứ tự nó cảm thấy như thế nào. Tôi nghĩ rằng nó mặc định cho id câu hỏi cho thứ tự thay vì vị trí question_membership, nhưng tôi không chắc chắn.
Bất kỳ ý tưởng nào về cách tôi có thể làm cho nó thực sự đặt hàng trên kết xuất ban đầu của trường vị trí của QuestionMembership?
trong trường hợp này, là thuộc tính vị trí trên mô hình câu hỏi và mô hình biểu mẫu? – Paul
Có, thuộc tính vị trí chỉ là một cột trên bảng kết nối. –