내 데이터베이스에있는 기존 playlists
테이블에 acts_as_list
을 추가하려고합니다. 내 테이블에 사용자가 만든 재생 목록이 저장되어 있습니다. 목표는 사용자가 자신의 재생 목록을 정렬 할 수있게하는 것입니다.acts_as_list를 사용하여 하나의 열에서 여러 목록을 만들 수 있습니까?
이 마이그레이션은 테이블의 재생 목록에 대한 기본 위치를 설정하지만 위치는 전역 컨텍스트로 설정됩니다 (예 : 012 재생 목록이 포함 된 표의 경우 position
열이 1-500으로 주문 됨) :
class AddPositionToPlaylistsTable < ActiveRecord::Migration
def self.up
add_column :playlists, :position, :integer
Playlist.reset_column_information
playlist = Playlist.find(:all, :order => "created_at ASC")
playlist.each_with_index do |p, i|
p.position = i+1
p.save
end
end
def self.down
remove_column :playlists, :position
end
end
그들이 position
(50)가 재생 목록, (70)이있을 수 있습니다로 반드시 (사용자의 관점에서 어떤 변화를 반영하지 않을 500 ~ 499에서 항목의 위치를 이동하기 때문에이 순서가 문제가 될 것이다 (100) , 및 500).
대신 사용자 별 컨텍스트에서 테이블의 각 재생 목록에 대한 위치를 설정하려고합니다 (예 : 각 사용자가 5 개의 재생 목록을 가지고 있다고 가정하면 position
열에는 각각에 대해 1-5 개의 재생 목록 인스턴스가 여러 개 있습니다. 사용자).
가능합니까? 그렇다면 마이그레이션을 어떻게 수정합니까?