rails联系3 --预设页面的设定

目标

已经完成基本构架了,我们来让整个网站操作更顺利些

目前当你前往http://localhost:3000会看到预设的“欢迎页面”

我们希望当前往到http://localhost:3000时,出现的是Topics的列表页面(index)

在本章我们会将它实现并且学习一些关于Rails上的routes概念

步骤

步骤1:加入根(root)路径

在程序编辑器上打开config/routes.rb这个档案(在装机趴上,我们建议你安装并使用Sublime Text)
档案第一行会看到Rails.application.routes.draw,然后在该行底下加入root ‘topics#index’。当你完成后,会长的如下面的样子:

Rails.application.routes.draw do
root 'topics#index'

(如果是Rails 3.x的版本,要改成写入root to:’topics#index’,并移除public/index.html这个档案).

步骤2:确认异动

重回http://localhost:3000/。应该会看到页面已自动改成Topics的列表了

解说

  • root
    ‘topics#index’是跟Rails说我的首页要指向到topics#index。而topics#index是Topics的列表页(topics_controller.rb里的index
    action).
  • Rails routes控制着URL(网址)与对应的Controller Action,如同地址对应着房子的位置
  • config/routes.rb这个档案就像是个这个网站里的地址目录,列出所有可以前往的房子

  • routes.rb使用简短的语法,很难全部列出所有可用的URLs,想要列出所有routes的设定,可以使用Terminal

在Terminal输入rake routes,应该会看到类似下面的数据:

$ rake routes

这里写图片描述

会秀出所有这个网站上可以用的URLs。当中冒号(:)代表着是个可以输入的变数,所以:id代表着在该URI Patten的:id位置输入随意数字,在预设的情况下,会自动帮你找出数据库对应的第几笔数据。而在括号中的变数是可有可无的

你也可以在开发环境下找到这些信息,前往http://localhost:3000/rails/info也会看到类似下图的信息:

这里写图片描述

你也会在输入错误网址时也会看到这个表格,试试看http://localhost:3000/sandwich

深入探索Routes(选修)

可以看到paths(路径)与对应的网址与Controller Action。我们也可以在Rails Console(后台)来做routes的测试:(在Terminal输入以下指令)

> rails console
>> app.topics_path
#结果=>“/topics”
>> app.topics_url
#结果=>“http://www.example.com/topics”

app是你代表整个应用程序的特殊物件你可以用它来呼叫routes内容(上面刚做的),与它的Database做联系,或是用’get或’post’做个仿网站请求(pseudo-web requests)…以及更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值