Возможно, мне не хватает чего-то фундаментального, но я не могу заставить ActiveAdmin работать с сортировкой has_many через отношения, с возможностью создания новых записей.ActiveAdmin/Formtastic sortable has_many через отношения
Итак, учитывая следующие модели
class User < ActiveRecord::Base
has_many :user_videos
has_many :videos, through: :user_videos
accepts_nested_attributes_for :user_videos
accepts_nested_attributes_for :videos
...
end
class UserVideo < ActiveRecord::Base
belongs_to :user
belongs_to :video
accepts_nested_attributes_for :video
end
class Video < ActiveRecord::Base
has_many :user_videos
has_many :users, through: :user_videos
...
end
(я признаю, что я бросал accepts_nested_attributes_for
вокруг несколько в надежде, что что-то может работать)
И Активная настройка администратора идет что-то вроде этого (WIP конечно):
f.inputs "User" do
f.has_many :user_videos, heading: 'Videos', sortable: :order, allow_destroy: true, new_record: 'New Record' do |v|
v.inputs for: :video do |video|
video.input :video_url
end
end
f.has_many :videos, heading: 'Videos', new_record: 'New Video' do |v|
v.input :video_url
end
end
f.actions
Первый has_many
на :user_videos
ассоциации, кажется, не делают каких-либо затрат. Если там есть записи, я вижу, что video.input :video_url
фактически возвращает тег li
с label
и input
, однако ничто не отображается на странице. Для новых записей весь бит v.inputs
не запускается (мне нужно сначала создать дочерние записи?).
Второй has_many
будет работать в том, что вы будете иметь возможность добавлять записи, а также обновить существующие записи, однако, невозможно разобраться, как order
столбец на UserVideos
модели. Я включаю это больше как иллюстрацию, чем что-либо.
Если у кого есть какие-либо указатели на это, они были бы очень признательны. :)