给出两个资源
http://example.com/places/1
http://example.com/places/2
端点应该如何将两个资源合并到一个资源中?理想情况下,合并后只剩下1个资源。
乍一看,我可以使用PUT
http://example.com/places/1
到params[:src_id] = 2
。这会将第二个资源的属性合并到第一个资源中并删除第二个资源。还有其他人有更好的方法吗?
请注意,我使用的Rails不支持http MERGE
动词,所以不可能。
答案 0 :(得分:2)
我建议使用new和create操作的新控制器PlacesMergeController
。在新操作中,您将有一个表单询问要合并的位置。表单将对create操作执行POST请求,您可以在其中执行实际合并。根据逻辑的复杂程度,您还可以使用PlacesMerge模型(非AR!)。
这种方法应该在处理合并操作的源/目标方面给您最大的灵活性 - 并且它易于维护。