Учитывая следующие модели:
class WorkoutProgram < ApplicationRecord
has_many :workouts, dependent: :destroy
end
class Workout < ApplicationRecord
belongs_to :workout_program
end
Есть ли способ установить пользовательский порядок в ActiveAdmin has_many?Я не хочу включать перетаскивание, поэтому sortable
не вариант.Идея состоит в том, чтобы показывать тренировки в том же порядке, в котором они были добавлены при редактировании WorkoutProgram
.
В качестве временного решения Я использую другое отношение has_many в WorkoutProgram
только для этой цели,Поэтому я добавил к модели:
has_many :ordered_workouts, -> { ordered_by_id },
class_name: Workout.to_s, dependent: :destroy, inverse_of: :workout_program
и затем использовал ее на странице ActiveAdmin следующим образом:
form.has_many :ordered_workouts, allow_destroy: true do...