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. 非资源路由和POST
- 5. 路由和嵌套资源
- 6. 缺省段名在轨资源路由
- 7. 路由资源的问题
- 8. REST的资源路由
- 9. 路由:结合资源和嵌套资源
- 10. 嵌套资源路由已经触发父资源路线
- 11. 代码与资源的setTextAppearance之间的区别
- 12. asp.net MVC 3路由,资源
- 13. 嵌套资源路由
- 14. ASP.net MVC路由资源
- 15. Rails路由到资源集?
- 16. 在轨道上设置资源路线的命名路线
- 17. 如何设置从资源到资源的路由前缀?
- 18. 如何路由到嵌套的资源,而不路由到外部父资源?
- 19. 导轨路由:更改资源的“显示”路径
- 20. Laravel路由与资源路由冲突
- 21. 轨道3中的连字符资源路线
- 22. 导轨和嵌套资源
- 23. 轨,path_names和嵌套资源
- 24. Rails3:适当使用路由和资源
- 25. 添加GET和POST收集的路由资源的路由
- 26. 轨道 - 如何定位的嵌套的资源路径
- 27. 为资源(单数)和资源(复数)创建Rails路由的最佳方式?
- 28. 简单的方法来规范轨道资源路线
- 29. Rails路由,在资源路径中使用非model_id的路由
- 30. Rails 3 - 嵌套的资源 - 路由
我的困惑:什么是创造奇异的资源点;可以说我们已经定义了'resource:geocoder';这是否意味着我们将在一个名为'geocoders'的整个'表格中有一个geocoder记录? – illusionist 2015-10-21 10:07:47
在文章的链接(自从发布这篇文章以来已更新),他们实际上给了一个很好的例子。称为/ profile(而不是/ profile:id)的单一资源对于始终显示当前登录的用户的配置文件将非常有用。因此,单个地理编码器可以属于当前用户的位置,其中多个地理编码器可以属于附近地点的集合。如果您想将自己的地理编码包含到该集合中,则取决于您。 – sksallaj 2015-10-21 17:09:55