在轨布线资源和资源之间的区别是什么?(Difference between resource and

2019-06-26 02:45发布

之间有什么区别resourceresources在导轨路由

 resource :geocoder

 resources :posts

它们之间有什么真正的区别?

Answer 1:

从本质上讲,布线资源是在资源提供了行动能力的控制器。

http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use

如果是复数形式的资源作为一种方法来处理在任何项目上通用的请求,那么单一的资源是一种手头上目前的项目工作。

因此,换句话说,如果我有苹果的集合,检索特定的苹果,我不得不告诉路由器“苹果”通过发送苹果的ID检索何种苹果。 如果我已经有一个苹果,那么是不是需要一个ID。

通过看他们有什么动作(或路由)注意两者之间的区别:

  • 资源: 指数 ,新,创建,显示,编辑,更新,销毁
  • 资源:新,创建,显示,编辑,更新,销毁

在您的例子:

  1. 控制器“地理编码器”是一个单一的资源,你可以用它来编辑,创建,更新等。
  2. 控制器“上岗”,是复数的资源,将处理传入的一般职位,你可以索引,编辑,创建等..


Answer 2:

http://guides.rubyonrails.org/routing.html#singular-resources

有时候,你有资源的客户端总是仰望没有引用一个ID。 例如,你想/轮廓始终显示在当前登录用户的配置文件。 在这种情况下,你可以使用一个单一的资源映射/配置文件(而不是/资料/:ID)的演出动作。

看到它的一个好方法是,资源没有索引作用,因为它假设是只有一个。



Answer 3:

奇异的资源:

有时候,你有资源的客户端总是仰望没有引用一个ID。 例如,你想/profile始终显示在当前登录用户的配置文件。

或者,通常,您的当前登录的用户属于一个组织,所以要转到他/她的组织档案页面可以有两个途径

#1
/organizations/:id

#2
/organization #simply

在这里,后来实现更有意义; 是不是? 你从协会组织对象

# in organizations#show
@organization = current_user.organization

要定义这样奇异的资源使用resource的方法:例

# in routes.rb
resource :organization

创建应用程序中的六个不同的路线,都映射到组织控制器:

然而,您可以定义使用多个资源的resources方法

resources :organizations



Answer 4:

我认为只是索引视图。

也有报道的问题与资源助手和表单helper路由。 就个人而言,我使用的语法:

resources :someresource, except: :index 

为了避免报告的错误 。



文章来源: Difference between resource and resources in rails routing?