我有3个模型(Workout,WorkoutSet,WorkoutStep),具有以下关联:
video_usage[]
)使用simple_form和cocoon我创建了表单来编辑这样的关联,但是在编辑锻炼时,在最深层次(WorkoutStep的视频数组)中,顺序似乎不是常数,而是命令通过(猜测)最后一次修改属性(在这种情况下,修改后正在更改属性,例如选择另一个视频)。
我希望视频数组在编辑之间保持不变。
这就是我的表单的样子:
_workout_sets_fields.html.haml
.nested-fields
= f.simple_fields_for :main_video_usage do |mv|
= render 'main_video_usage_fields', f: mv
.steps{ :style => "margin-left: 680px" }
= link_to_remove_association 'remove step', f
= link_to_add_association 'add video', f, :main_video_usage
_main_video_usage_fields.html.haml
.nested-fields
= f.collection_select :video_id, Video.all.order(:title), :id, :title
答案 0 :(得分:2)
如果您想保留创作顺序,可以给出明确的订单,使用id
或created_at
:
has_many :main_video_usage, -> { order('id asc') }, class_name: 'VideoUsage::Main', as: :parent