1

好的,我有点理解这部分:CRUD动词和动作http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions

如果我转到我所拥有的示例的路由文件,我还会在其中看到一个资源 :orders

但现在从部分名称 _carts 的角度来看,我看到了这段代码:

<%= button_to "Checkout" , new_order_path, method: :get %>

让我困惑的是new_order_path ?那个是从哪里来的?什么 Rails 约定规则允许我们纠正这个问题?尤其是那个“新”是从哪里来的?

4

2 回答 2

1

在路由中使用resources :orders时,Rails 会创建 7 条路由,分别用于新建、创建、显示、更新、销毁、列出和编辑。所有这些都被命名,并且new_order_path/new_order_url与新操作相关。

这些路线在http://guides.rubyonrails.org/routing.html#paths-and-urls中有描述

于 2013-01-22T06:04:52.070 回答
1

这些路径助手是您在routes.rb. rake routes您可以通过在命令行执行来检查哪些路由助手可用。它们显示在打印出来的表格的最左侧列中。

默认情况下,创建的路径的一般模式如下所示:

  • new_{singular form of resource}_pathnew - GET 上的路由
  • edit_{singular form of resource}_pathedit - GET 上的路由
  • {singular form of resource}_pathshow -在 GET、destroyDELETE、PUT 上的路由update(即将在 Rails 4 中成为 PATCH)
  • {资源的复数形式}_pathindex -在 GET 和createPOST上的路由。

还有一些以提供绝对 URL 而不是相对路径的方式结尾的_url助手_path。在您的控制器中命中的特定操作取决于访问这些 URL 时使用的 HTTP 动词(GET、PUT、POST、DELETE 等)。

于 2013-01-22T06:14:37.677 回答