Ruby on rails Rails是如何从我们的模型和控制器生成此路径的

Ruby on rails Rails是如何从我们的模型和控制器生成此路径的,ruby-on-rails,routes,Ruby On Rails,Routes,好吧,我有点理解这部分:CRUD动词和动作 如果我转到我的示例的路由文件,我还会看到一个参考资料:orders 但现在,从部分名称的角度来看,我看到了以下代码: <%= button_to "Checkout" , new_order_path, method: :get %> 让我困惑的是新订单路径?那是从哪里来的?什么Rails惯例规则允许我们纠正这个错误?尤其是“新”是从哪里来的?当您使用资源:orders在路由中,Rails为新建、创建、显示、更新、销毁、列出和编辑创建

好吧,我有点理解这部分:CRUD动词和动作

如果我转到我的示例的路由文件,我还会看到一个参考资料:orders

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

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


让我困惑的是新订单路径?那是从哪里来的?什么Rails惯例规则允许我们纠正这个错误?尤其是“新”是从哪里来的?

当您使用
资源:orders
在路由中,Rails为新建、创建、显示、更新、销毁、列出和编辑创建7条路由。它们都是给定的名称,
new\u order\u path
/
new\u order\u url
与新操作相关

这些路由在

中进行了描述。这些路径帮助程序在您的
routes.rb
中定义。通过在命令行中执行
rake routes
,可以检查哪些路由帮助器可用。它们显示在打印出的表格中最左边的列中

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

  • new{singularformofresource}\u路径-在GET上路由到
    new
  • edit{singularformofresource}\u路径-获取时路由到
    edit
  • {singular form of resource}\u path-在获取时路由到
    显示
    删除时销毁
    发布时更新
    (即将在Rails 4中进行修补)
  • {resource的复数形式}\u路径-在GET上路由到
    索引
    ,在POST上路由到
    创建
还有以
\u url
而不是
\u path
结尾的帮助程序,它们提供绝对url而不是相对路径。在控制器中命中的特定操作取决于访问这些URL时使用的HTTP动词(GET、PUT、POST、DELETE等)