之间有什么区别resource
和resources
在导轨路由
resource :geocoder
和
resources :posts
它们之间有什么真正的区别?
之间有什么区别resource
和resources
在导轨路由
resource :geocoder
和
resources :posts
它们之间有什么真正的区别?
从本质上讲,布线资源是在资源提供了行动能力的控制器。
http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use
如果是复数形式的资源作为一种方法来处理在任何项目上通用的请求,那么单一的资源是一种手头上目前的项目工作。
因此,换句话说,如果我有苹果的集合,检索特定的苹果,我不得不告诉路由器“苹果”通过发送苹果的ID检索何种苹果。 如果我已经有一个苹果,那么是不是需要一个ID。
通过看他们有什么动作(或路由)注意两者之间的区别:
在您的例子:
http://guides.rubyonrails.org/routing.html#singular-resources
有时候,你有资源的客户端总是仰望没有引用一个ID。 例如,你想/轮廓始终显示在当前登录用户的配置文件。 在这种情况下,你可以使用一个单一的资源映射/配置文件(而不是/资料/:ID)的演出动作。
看到它的一个好方法是,资源没有索引作用,因为它假设是只有一个。
奇异的资源:
有时候,你有资源的客户端总是仰望没有引用一个ID。 例如,你想/profile
始终显示在当前登录用户的配置文件。
或者,通常,您的当前登录的用户属于一个组织,所以要转到他/她的组织档案页面可以有两个途径
#1
/organizations/:id
#2
/organization #simply
在这里,后来实现更有意义; 是不是? 你从协会组织对象
# in organizations#show
@organization = current_user.organization
要定义这样奇异的资源使用resource
的方法:例
# in routes.rb
resource :organization
创建应用程序中的六个不同的路线,都映射到组织控制器:
然而,您可以定义使用多个资源的resources
方法
resources :organizations
我认为只是索引视图。
也有报道的问题与资源助手和表单helper路由。 就个人而言,我使用的语法:
resources :someresource, except: :index
为了避免报告的错误 。