我有一个控制器CourseSteps,包含3列course_id,step_id,position。它具有可以正常工作的创建,索引和销毁操作。
我需要执行一个交换两个位置值的函数。我不认为这适合“更新”方法,因为我要更改2行。我应该创建一个名为swap_position的新方法吗?为此模型设置位置列是否有意义? (它基本上创建了课程和步骤之间的多对多关系。(课程可以有许多步骤,步骤可以与许多课程相关)
答案 0 :(得分:0)
您可以将路线添加到单个资源,如下所示:
resources :your_resources do
member do
post swap_position
end
end
您可以向集合添加方法,如下所示:
resources :your_resource do
collection do
post swap_position
end
end
当然,您不仅限于“发布”;可以使用任何RESTful动词。在您的情况下,您可能想要发帖或获取。
编辑:您可以在此处详细了解:http://guides.rubyonrails.org/routing.html阅读第2.9节