我有一个API,我将返回delivery_methods
的事件。当管理员登录以查看传递方法屏幕(例如,编辑描述)时,API请求应返回他们创建或编辑的传递方法,但如果数据库中不存在,则应生成一些默认的传递方法。
放入控制器的index
路径是个好主意吗? API请求类似/api/delivery_methods
。代码看起来像:
def index
@delivery_methods = DeliveryMethod.find_all_or_create_defaults(current_admin)
end
我没有测试任何代码,只是在这里要求“最佳实践”意见。谢谢!
答案 0 :(得分:2)
拥有修改/创建资源的GET路由不被视为一种好习惯。
特别是,已经建立了GET和GET的惯例 HEAD方法不应该具有采取行动的意义 除了检索。应该考虑这些方法"安全"。 这允许用户代理表示其他方法,例如POST,PUT 和DELETE,以一种特殊的方式,使用户了解 事实上,要求采取可能不安全的行动 https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
如果需要在运行时创建默认记录,则可以通过种子文件,rake任务或模型生命周期回调来完成。