Я хотел бы реализовать перетаскивание списка элементов в списке воспроизведения.Содержимое списка воспроизведения имеет различные типы активных записей.Мне нужно сохранить позицию и сохранить ее в базе данных и обработать порядок с помощью act_as_list.Я не уверен, что правильно строю ассоциации.
Я построил отношения has_many_through , используя таблицу соединений, но я не уверен, как заставить действовать activ_as_list с этой конфигурацией.
Мои модели выглядят так:
class Playlist < ActiveRecord::Base
belongs_to :group
belongs_to :user
has_many :links, through: :playlists_contents dependent: :destroy
has_many :medias, through: :playlists_contents dependent: :destroy
end
Моя миграция для таблицы соединений выглядит следующим образом:
class CreateJoinTable < ActiveRecord::Migration[5.0]
def change
create_table :contents_playlists do |t|
t.belongs_to :link, index: true
t.belongs_to :media, index: true
t.belongs_to :playlist, index: true
end
end
У меня есть это в моей модели таблицы соединений:
class PlaylistsContents < ActiveRecord::Base
default_scope -> { order(position: :asc) }
default_scope :order => 'position'
belongs_to :playlist
belongs_to :link
belongs_to :media
acts_as_list :scope => :link
acts_as_list :scope => :media
end