11
A
回答
14
实质上,路由资源是指资源为控制器提供动作能力的时候。
http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use
如果是复数形式的资源作为一种方法来处理上任何项目的通用要求,然后一个单一的资源在手在当前项目工作的方式。换句话说,如果我有苹果的集合,为了检索特定的苹果,我必须通过发送苹果的ID来告诉路由器“苹果”检索哪个苹果。如果我已经有一个Apple,那么不需要ID。
通知通过看他们有什么动作(或航线)两者之间的区别:
- 资源:指数,新,创建,显示,编辑,更新,破坏
- 资源:新,创建,显示,编辑,更新,破坏
在您的例子:
- 控制器“geocoder”是一个单一的资源,您可以用来编辑,创建,更新等。
- 控制器“帖子”,是一个复合资源,将处理传入的通用帖子,您可以索引,编辑,创建..等
8
http://guides.rubyonrails.org/routing.html#singular-resources
有时候,你有资源的客户端总是仰望没有 引用的ID。例如,您希望/ profile始终显示当前登录用户的配置文件 。在这种情况下,您可以使用单个资源 来映射/配置文件(而不是/ profile /:id)到 显示操作。
查看它的一个好方法是资源没有索引操作,因为它假设只是一个。
3
我认为只是索引视图。
也有报道与资源助手和形式助手的路由问题。我个人使用的语法如下:
resources :someresource, except: :index
为了避免reported bugs。
4
奇异的资源:
有时候,你有资源的客户端总是仰望没有引用一个ID。例如,您希望/profile
始终显示当前登录用户的配置文件。
或者,通常你当前登录的用户属于一个组织,所以要转到他/她的组织档案页面可以有两个途径
#1
/organizations/:id
#2
/organization #simply
这里,后来实现更有意义;是不是?你从协会组织对象
# in organizations#show
@organization = current_user.organization
定义这种奇异的资源使用resource
方法:例
# in routes.rb
resource :organization
创建应用程序中的六个不同的路线,都映射到组织控制器:
然而,您使用定义了多个资源3210方法
resources :organizations
相关问题
- 1. 轨道嵌套的资源和路由初始化资源
- 2. 资源路线和轨道
- 3. 项目资源和本地资源映像之间的区别
- 4. 多个资源路由在轨道
- 5. 轨路由嵌套资源
- 6. 轨道中的浅层路由嵌套的资源3
- 7. 资源 - 路由与嵌套GET中断资源路由?
- 8. 路由和嵌套资源
- 9. 非资源路由和POST
- 10. 缺省段名在轨资源路由
- 11. 轨路由嵌套资源重复
- 12. 我想添加另一个动作路由到轨道中的资源路由
- 13. Rails 3的路由:资源和路径
- 14. 嵌套资源与轨道
- 15. Rails的路由资源
- 16. 路由资源的问题
- 17. REST的资源路由
- 18. 资源路由的mixup
- 19. 资源,客户端和会话之间的区别..?
- 20. 两个资源之间的路径
- 21. 轨道4嵌套资源路由错误
- 22. 路由:结合资源和嵌套资源
- 23. Rails 3的路由:资源行动和嵌套的资源用:路径=>“/”
- 24. 嵌套资源路由已经触发父资源路线
- 25. ASP.net MVC路由资源
- 26. Rails路由到资源集?
- 27. Laravel路由与资源
- 28. 嵌套资源路由
- 29. Laravel路由资源错误
- 30. Rails ActiveAdmin路由新资源
我的困惑:什么是创造奇异的资源点;可以说我们已经定义了'resource:geocoder';这是否意味着我们将在一个名为'geocoders'的整个'表格中有一个geocoder记录? – illusionist 2015-10-21 10:07:47
在文章的链接(自从发布这篇文章以来已更新),他们实际上给了一个很好的例子。称为/ profile(而不是/ profile:id)的单一资源对于始终显示当前登录的用户的配置文件将非常有用。因此,单个地理编码器可以属于当前用户的位置,其中多个地理编码器可以属于附近地点的集合。如果您想将自己的地理编码包含到该集合中,则取决于您。 – sksallaj 2015-10-21 17:09:55