要配置我的应用的管理设置,我制作了管理员控制器和AdminConfig模型。
Admin控制器有几个类别(系统,文件,文件夹......),我想通过在db中设置一个类别列,轻松地在AdminConfig模型中将它们分开。 但我真的想以RESTful的方式做这件事,我不知道怎么用rails做。
Rails想要分别编辑每个数据库行,但我想将它们分组。
示例:在我拥有的文件类别上:
每个人都是AdminConfig模型中的一个单独条目:
(抱歉表不在这里工作)
所以我想在页面上显示所有这些内容,当我编辑它们时,我想要全部更新它们。但我不知道如何正确地做到这一点。
我可以按照我的方式做到这一点或修改数据库所以一行==一个类别,但这不是我想要实现的方式,因为在以后添加更多设置会更加困难。
答案 0 :(得分:0)
如果所有这些设置都属于同一个集合(例如几个ExifTag
模型) - 您可以修补一个集合,这在REST中是不被禁止的(尽管您必须定义您的自己动作,没有预定义的用于在Rails中修补集合的内容。)
PATCH [{id: 3, name: 'Paul'}, {id: 4, name: 'Dan'}]
如果所有设置都属于一个模型 - 您可以修补该模型并将数据作为嵌套属性传递给其他模型,Rails允许您这样做。
PATCH {id: 1, hobbies_attributes: [{id: 1, name: 'Hiking'}], house_attributes: { location_attributes: { city: 'Vancouver' }}
如果不是这些,就像你想要修补2个彼此无关的不同模型那么 - 那么健康"在REST中这样做的方法。我可以建议使用一些花哨的前端,它会在编辑时向不同的路径发送不同的请求,更新不同的模型;那将是最干净的方式。