Ruby on Rails,通过建立页面导航链接实现页面跳转

http://blog.csdn.net/abbuggy/article/details/7628834

到现在为止,我们已经将web请求响应的全过程:

从头到尾走了一遍。唯一缺少的就是在Templates中增加链接,让使用者点击链接触发一个又一个新的请求不断的与站点交互。
现在看看如何为页面增加链接。一个普通的HTML链接类似于下面的格式,显示在页面上的内容写在<a>与</a>之间,例子里对应"link"。希望转向的目的写在href=后面的双引号中,例子里对应“/demo/index”。这个链接将把我们指向名为demo的Controller中的名为index的Action。
<a href= "/demo/index" >link</a>

我们当然可以直接在Templates中使用标准格式的链接,但在实际的Rails应用中很少会有机会看到直接使用<a>标签的写法。因为Rails为我们提供了更加方便强大的工具来增加链接。在Rails中使用link_to(text,target)方法返回描述链接的语句,将其嵌入Templates中<%=link_to(text,target)%>。传入的text是需要显示在页面上的内容,target是想要转向的地方。target可以是一个简单的“/demo/index”,还可以写成如“{:controller =>’demo‘, :action => 'index'}”直接指明我们需要哪个Controller中的哪个Action,这两种方式到最后都会生成与标准<a>完全相同的结果。最后一种写法能够更方便的识别出哪个是Controller,哪个是Action。
<h1>Demo#hello</h1>
<p>Hello Page!</p>

  <a href= "/demo/index" >a tag approach</a>

  <%= link_to("url approach","/demo/index")%>

  <%= link_to("rails approach",{:controller =>'demo',:action => 'index'})%>

<p>Find me in app/views/demo/hello.html.erb</p>

这里用三种不同的方式向页面添加链接,最后一种书写的内容稍多但是可读性更强。

效果是一样的,导向/demo/index。

http://blog.csdn.net/abbuggy/article/details/7628834
posted on 2012-06-03 22:40  边晓宇  阅读(1238)  评论(0编辑  收藏  举报