Ruby on rails Rails索引控制器查找所有或创建记录
我有一个API,我将在其中返回事件的Ruby on rails Rails索引控制器查找所有或创建记录,ruby-on-rails,Ruby On Rails,我有一个API,我将在其中返回事件的交付方法。当管理员登录以查看交付方法屏幕(例如,编辑描述)时,API请求应返回他们创建或编辑的交付方法,但如果DB中不存在,则应生成一些默认方法 进入控制器的索引路径是个好主意吗?API请求类似于/API/delivery\u methods。代码看起来像: def index @delivery_methods = DeliveryMethod.find_all_or_create_defaults(current_admin) end 我没有测试
交付方法
。当管理员登录以查看交付方法屏幕(例如,编辑描述)时,API请求应返回他们创建或编辑的交付方法,但如果DB中不存在,则应生成一些默认方法
进入控制器的索引
路径是个好主意吗?API请求类似于/API/delivery\u methods
。代码看起来像:
def index
@delivery_methods = DeliveryMethod.find_all_or_create_defaults(current_admin)
end
我没有测试任何代码,只是在这里征求“最佳实践”的意见。谢谢 拥有修改/创建资源的GET路由被认为不是一个好做法 特别是,该公约已经确立,缔约国 HEAD方法不应具有采取行动的意义 除了检索。这些方法应该被认为是“安全的”。 这允许用户代理表示其他方法,例如POST、PUT和PUT 并以特殊方式删除,以便用户了解 请求可能不安全的操作的事实。
如果需要在运行时创建默认记录,则应通过种子文件、rake任务或作为模型生命周期回调来生成默认记录。拥有修改/创建资源的GET路由被认为不是一种好做法 特别是,该公约已经确立,缔约国 HEAD方法不应具有采取行动的意义 除了检索。这些方法应该被认为是“安全的”。 这允许用户代理表示其他方法,例如POST、PUT和PUT 并以特殊方式删除,以便用户了解 请求可能不安全的操作的事实。
生成默认记录应改为通过种子文件,rake任务或作为模型生命周期回调(如果需要在运行时创建)。我认为更好的选择是在管理员模型上使用after_create操作,在管理员首次注册时设置这些默认交付方法。我认为更好的选择是在管理员模型上使用after_create操作来设置这些默认交付方法管理员首次注册时的交付方法。谢谢!这就是我在想的,我只是想问一下。谢谢!这就是我在想的,我只是想问一下。