resourceresources在轨道路由上有什么区别

 resource :geocoder

 resources :posts

他们之间真正的区别是什么?

推荐答案

本质上,路由资源是指资源为控制器提供操作能力.

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

如果使用多元资源作为处理任何项目的通用请求的方式,那么单一资源就是处理当前项目的方式.

如果我有一个苹果的ID,那么我可以通过一个特定的路由来检索苹果.如果我已经有一个苹果,那么就不需要ID了.

通过观察它们有哪些动作(或路由)来注意两者之间的差异:

  • 资源:Index、新建、创建、显示、编辑、更新、销毁
  • 资源:新建、创建、显示、编辑、更新、销毁

在你的例子中:

  1. 控制器"geocoder"是一个单一的资源,您可以使用它来编辑、创建、更新等.
  2. 控制器"posts"是一个复数资源,用于处理传入的通用帖子,您可以对其进行索引、编辑和创建..等

Ruby-on-rails相关问答推荐

form_with正在try 用错误的路径生成操作

Rails7--如何使用内联代码仅为操作运行BEFORE操作

mini_racer gem 0.8.0无法与Ruby 3.1.xBundle 安装

Rails引擎importmap Uncaught ReferenceError:未定义tinymce

Rails 7 共享刺激控制器功能

Ruby on rails 查询不知道怎么写

如何使用 Rails 3 / Rack 在没有 www 的情况下重定向?

为 ActionMailer 渲染不同的视图(模板)

Rails 模型方法 self.与普通

如何避免 RSpec 3.0 中 stub_chain 的弃用警告?

简单表单关联自定义标签名称

在公共 Rails 应用程序中将敏感数据存储在哪里?

如何按值按降序对哈希进行排序并在 ruby​​ 中输出哈希?

Ruby 和 Ruby on Rails 离线 API 文档

按周/月/等和 ActiveRecord 分组?

用户注册时设计确认令牌无效

为什么 RSpec 在 Rails 下这么慢?

停止 Rails 为视图和助手生成规范测试?

Coffeescript ||= 模拟?

为什么不对 Rspec + Selenium 使用共享的 ActiveRecord 连接?