ruby-on-rails - 在 routes.rb 中获取、匹配和资源

标签 ruby-on-rails

我是 Rails 的新手。当我使用 routes.rb 中的资源时,我发现它很奇怪,在我将页面重定向到 controller/index 后,它呈现了 controller/show 。
我知道 GET controller/actionmatch "controller/action", :to => "controller/action" 相同
我认为关于重定向的奇怪事情发生在我身上,类似于 GET 和 Match。
所以我想知道资源到底是什么意思,我可以使用一些简单的匹配来做同样的事情吗?

最佳答案

resources是生成 REST 所需的七个路由的快捷方式界面。
resources :widgets相当于写

get    "widgets"          => "widgets#index",   :as => 'widgets'
get    "widgets/:id"      => "widgets#show",    :as => 'widget'
get    "widgets/new"      => "widgets#new",     :as => 'new_widget'
post   "widgets"          => "widgets#create",  :as => 'widgets'
get    "widgets/:id/edit" => "widgets#edit",    :as => 'edit_widget'
patch  "widgets/:id"      => "widgets#update",  :as => 'widget'
put    "widgets/:id"      => "widgets#update",  :as => 'widget'
delete "widgets/:id"      => "widgets#destroy", :as => 'widget'

它只是为您省去了麻烦。

顺便说一句,getmatch 不完全相同. get , post , putdelete是将路由限制为单个 HTTP 动词的快捷方式。下面的两个路由定义是等效的。
match 'foo' => 'controller#action', :method => :get
get   'foo' => 'controller#action'

关于ruby-on-rails - 在 routes.rb 中获取、匹配和资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420754/

相关文章:

ruby-on-rails - Windows 7 x64 上的 Ruby on Rails SQLite 问题

ruby-on-rails - 使用 Rails 和 AngularJS 的嵌套表单问题

ruby-on-rails - 如何将数字数组转换为范围

ruby-on-rails - ActiveRecord、方法链和请求执行

ruby-on-rails - 在很长的延迟后,考拉中的 Facebook 图的 put_connections() 失败

ruby-on-rails - 从主机访问虚拟机上的rails服务器

ruby-on-rails - 如何自定义或更改 rails 中的路线路径?

javascript - 在 JS 中从 Chrome 扩展程序向我的 Rails API 发出基本请求

css - Rails 4.1 css.sass 文件中未消化的 Assets 链接

javascript - tinymce wordcount 不适用于 BACKSPCAE