主页

特殊的路由 root_path

2023-09-12 11:02AM

root_path决定了你的项目根目录的页面是哪个

eg: 我在 config/routes.rb 文件中增加下面的路由(表示对于根目录的请求,会由 books controller的 welcome action 来处理)

# 根路径  (root_path的写法: root  :to => '……' )

root :to => 'books#welcome'

books#welcome 可以告诉 rails 我对于这个根目录应该用哪个controller(books表示哪个controller,welcome表示哪个controller里面的action)

如果没有定义root_path,那浏览器中的 localhost:3000就是默认的 rails 页面

一旦定义好之后,就算是我们没有写任何的erb文件和controller,action,在浏览器刷新之后它也会告诉我们(以报错的形式)

Unknow action

The action 'welcome' could not be found for BooksController

说明 'books#welcome'已经生效了

接下来需要为bookscontroller 增加 welcome action 并且为 welcome 增加 erb 文件

在 app/controllers/books_controller.rb 文件里面增加下面的代码

class BooksControllers < ApplicationController

    def  welcome

     end

end

可以在 app/views/books/welcome.html.erb 文件中增加一些内容

<h1>你好!欢迎学习rails routes </h1>

注意:由于我们没有在resources :books 中配置 get :welcome,所以我们访问/books/welcome是会报错的

可以在config/routes中增加下面的内容:

resources  :book do

    collection do

      get :welcome

   end

end

 然后在浏览器刷新出现的内容,就是我们访问了这个根目录之后它显示的内容

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论