【问题标题】:When using resource in rails how can it work在 Rails 中使用资源时,它如何工作
【发布时间】:2015-06-08 20:03:28
【问题描述】:

使用resources :users时明白了

它创建了七条路线。

那么localhost:3000/users/1:它是如何映射到“GET /users/1 show”的?为什么不修补或删除?

【问题讨论】:

  • 不清楚你在问什么,你试过阅读文档吗? guides.rubyonrails.org/…
  • 当我请求 localhost/user/1 rails 路由只是扫描资源:用户从上到下 ex) show -> new -> create -> update -> destory show is top the routes then I go to user/1 -> 显示用户 '1' ?
  • 因为浏览器默认是GET。使用其他动词需要自定义请求代码或比 HTML 中的链接更有趣的东西。

标签: ruby-on-rails


【解决方案1】:

您似乎不知道HTTP methods,也称为动词。

是的,show 请求和update 请求看起来很相似,但是它们被 HTTP 动词分开如下:

==========================================
|HTTP Method | Format     | Route        |
=============|============|===============
|   GET      | /users/:id | users#show   |
=============|============|===============
|   PUT      | /users/:id | users#update |
==========================================

所以,它基本上是区分两者的 HTTP 动词。

对于destroy,使用HTTP动词DELETE

==========================================
|HTTP Method | Format     | Route        |
=============|============|===============
|   DELETE   | /users/:id | users#destroy|
==========================================

【讨论】:

  • 正确的名字是HTTP methods
  • 是的,是的。我的错。
  • 当我只是请求 /usrs/1 时,它如何在 rails 中找出 GET 请求
  • 每当您在浏览器中键入 URL 时,它几乎都会用于 GET 请求。当您提交表单时,它可能会或可能不会在服务器上发出 POST 请求。
  • 你在浏览器中写http://www.google.com,你正在向谷歌发送一个GET请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
相关资源
最近更新 更多