在Rails路由中使用资源与资源有什么好处?

时间:2014-08-18 18:15:37

标签: ruby-on-rails routes

要在课程资源上拥有多条路线,我们会使用resources :course。我们仅对resource这样的一条路线使用单数courses#new。即使我有一条路线,使用resources :course是否可行?我认为如果它已经是复数的话,以后添加课程路线会更容易。从一开始就制作资源复数是不是有缺点?

1 个答案:

答案 0 :(得分:1)

奇异资源,如:

    resource :course

只生成6条路线而不是7条。所以留下了复数索引路线。但是,单数/复数资源之间存在差异的主要原因是它的表现力。 有时,您拥有一个客户端始终查找而不引用ID的资源。例如,您希望/ course始终显示当前课程。在这种情况下,您可以使用单一资源将/ course(而不是/ course /:id)映射到show动作:

  1. GET
    • /当然/新
    • 课程#新
    • 返回用于创建课程的HTML表单
  2. POST
    • /当然
    • 课程#创建
    • 创建新课程
  3. GET
    • /当然
    • 课程#展示
    • 显示唯一的课程资源
  4. GET
    • /当然/编辑
    • 课程#修改
    • 返回用于编辑课程的HTML表单
  5. PATCH / PUT
    • /当然
    • 课程#更新
    • 更新唯一的课程资源
  6. DELETE
    • /当然
    • 课程#破坏
    • 删除课程资源

  7. 另请阅读Singularize resource routes, if it is singular!
    请考虑这个问题。因此,如果课程资源在其上下文中是单数,则选择单一资源,否则选择多个资源。