7--Rails路由

 

路由配置文件中默认包含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即可。其他用法类似。

posted @ 2016-02-16 15:03  SixEvilDragon  阅读(313)  评论(0编辑  收藏  举报