在Rails 3中将实体添加到另一个实体(n:m关系)的RESTful方法?
|
这可能是一个非常简单的问题,有一个简单的解决方案,但是我还没有得到。
假设我有以下两个模型:
class Task
has_and_belongs_to_many :users
end
class User
has_and_belongs_to_many :tasks
end
进一步假设有一个名为\“ wayne \”的用户,其ID为1,还有一个名为\“ GO Shopping \”的任务,其ID为2。通过REST接口在它们之间建立关系的RESTful方法是什么?
添加诸如users / 1 / add_task / 2之类的路由更像是RPC样式,并且不是非常RESTful的。那你该怎么做呢?
没有找到相关结果
已邀请:
3 个回复
河饶办斜施
在声明路由后提交带有
和ѭ4a的
(例如,通过在route.rb中添加
),您将在两个对象之间创建链接。控制器应包含以下内容:
然后,您只需调用即可访问用户的任务
就我个人而言,我认为在某些情况下您不需要此解决方案,因为它会给附加模型和所有其他方面造成相当大的开销。 例如,我有一个Item模型,并想为其添加标签。这是每个模型中由
声明的多对多关联,但是我总是向项目添加标签,而不是相反地添加标签,因此前一种解决方案似乎有点多。然后我只添加
到routes.rb。 ItemController:
希望这对您有任何帮助,即使我刚刚看到答案迟了一年。
肉脓措伪
暑袜眠退
和控制器代码:
也许为此使用单独的资源会更清楚一点。