面试题答案
一键面试路由(Routing)的主要作用
- 映射请求到控制器动作:在Ruby on Rails应用中,路由负责将传入的HTTP请求映射到相应的控制器及控制器中的特定动作。例如,当用户在浏览器中访问一个特定的URL时,路由系统决定哪个控制器的哪个方法来处理这个请求。
- 生成URL:除了处理传入请求,路由还用于在应用内部生成URL。这在视图中创建链接、表单提交地址等场景非常有用。通过路由定义,可以方便地根据控制器和动作名称生成对应的URL,使得应用内的链接管理更加灵活和易于维护。
简单路由配置示例
在Rails项目的config/routes.rb
文件中,为posts
控制器的index
和show
动作配置路由示例如下:
Rails.application.routes.draw do
resources :posts, only: [:index, :show]
end
上述代码使用resources
方法简洁地定义了posts
资源的路由,only
选项指定了只生成index
和show
动作对应的路由。其中:
index
动作对应的路由通常用于展示posts
列表,默认的URL为/posts
,HTTP方法为GET
。show
动作对应的路由用于展示单个post
的详细信息,URL形式为/posts/:id
,HTTP方法为GET
,其中:id
是动态参数,用于指定要展示的具体post
的标识符。