Ruby on Rails - 路线


路由模块提供原生 Ruby 中的 URL 重写。这是一种将传入请求重定向到控制器和操作的方法。它取代了 mod_rewrite 规则。最重要的是,Rails 的路由适用于任何 Web 服务器。路由在 app/config/routes.rb 中定义。

将创建路线视为根据您的请求绘制地图。地图根据一些预定义的模式告诉他们要去哪里 -

Rails.application.routes.draw do
   Pattern 1 tells some request to go to one place
   Pattern 2 tell them to go to another
   ...
end

例子

让我们考虑我们的图书馆管理应用程序包含一个名为 BookController 的控制器。我们必须为那些在 BookController 类中定义为方法的操作定义路由。

打开library/config/目录中的routes.rb文件并使用以下内容进行编辑。

Rails.application.routes.draw do
   get 'book/list'
   get 'book/new'
   post 'book/create'
   patch 'book/update'
   get 'book/list'
   get 'book/show'
   get 'book/edit'
   get 'book/delete'
   get 'book/update'
   get 'book/show_subjects'
end

routes.rb 文件定义应用程序中可用的操作以及操作类型,例如 get、post 和 patch。

使用以下命令列出所有定义的路由,这对于跟踪应用程序中的路由问题很有用,或者让您很好地了解您想要熟悉的应用程序中的 URL。

library> rake routes

下一步是什么?

接下来,我们将创建代码来生成屏幕以显示数据并接受用户输入。