码迷,mamicode.com
首页 > 其他好文 > 详细

7--Rails路由

时间:2016-02-16 16:33:41      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

?

路由配置文件中默认包含7种路由,我们排除掉show路由之后再去访问如下:

技术分享

技术分享

我们排除了show这个路由,那么还可以通过普通方式添加进去

动作是get,‘posts/:id‘是浏览器输入的路由格式,:to=>‘posts#show‘是交给对应的控制器和action

技术分享

技术分享

还有要注意请求动作不出现先url中,但是如果请求动作与action如果不对应,那么就算路由写对了,还是无法访问,比如show的完成动作应该是get而下面却写成post。

技术分享

技术分享

报错说找不到匹配的路由,因为浏览器对show请求方式是get,而我们路由配置文件写的是post,所以报错。

如果我们同时需要post和get,那么都写上就行了。

技术分享

技术分享

一个web工程接收http请求的方式除了在浏览器输入以外,在工程代码里就是以超链接的形式。

我们删除显示微博页面的那段代码:

技术分享

删除之后:

技术分享

首页Content下面的内容已经没有了,也没有Show那些超链接了

技术分享

那么我们想在这个页面添加链接,点击转到id为1的微博,可以这么写:

这里使用rails的辅助方法link_to,它的作用就是生成一个超链接标签,第一个参数就是标签的文字,第二个花括号链接的目的url的硬编码说明。

技术分享

技术分享

点击超链接之后:

技术分享

?

我们在路由配置中,如下图,那么些路由其实还是很麻烦

技术分享

更快捷的方式叫命名路由,也就是给路由起个名字作为全局名称,生成一个全局的url连接名称,使我们在创建一个url连接的时候不用再显示地写出路由的控制器、动作和参数,不用写出下面花括号内那样的长串,而是简单的写出路由的名称就可以

技术分享

命名路由的写法和用法也很简单,改成如下两个代码图即可

技术分享

技术分享

使用时show_post就是辅助方法,我们在后面加_path,参数传入id即可。其他用法类似。

7--Rails路由

标签:

原文地址:http://www.cnblogs.com/blueColdFire/p/5192762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!