我现在完全陷入困境,可以真正使用一些帮助。
这是我尝试做的事情。我使用Ruby on Rails,我有两个模型。一个是练习,一个是常规。常规由各种练习组成。我目前已经进行了设置,因此我可以将练习列表拖放到当前所选例程的练习列表中。为了建模这种关系,我有一个exercise_routine模型,它匹配exercise_id和routine_id来模拟它们相关联的模型。所以,我接下来要做的是当用户在所有拖动之后点击保存更改时我使用jQuery来组合列表中所有exercise_id的数组。
现在是我被困的部分。然后我想将该列表传递给exercise_routine控制器的create动作。在那个创建动作中,我会将该练习列表与已存在的任何动作进行比较,并创建任何新的关联并删除已删除的关联。
我见过多个例子,但没有一个例子适合我。所以,我已经回到了我需要传递给控制器的id数组。我现在的问题是如何成功地将该数组作为参数传递给create action,或者我应该将它发送到exercise_routine控制器的其他地方?我认为我使用的AJAX请求很好,但路由实际上是让我循环。
感谢任何帮助。如果您需要查看任何代码或任何我需要更新的内容。
答案 0 :(得分:0)
# send an ajax request with your ids
$.ajax
url: "routines/1"
type: "PUT",
data: { exercice_ids: getExerciceIds() }
success: function() {}
# update the routine exercice ids in the controller
def update
@routine = Routine.find(params[:id])
@routine.exercice_ids = params[:exercice_ids]
@routine.save
end
这应该有效。您可能希望执行除update
以外的其他操作。