Ruby on Rails,利用View Templates生成动态页面

作者: 边晓宇
发布时间:2015-07-13 11:30:51

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

Ruby on Rails,在Controller中指定页面重定向Ruby on Rails,在Controller中指定渲染的Templates介绍了利用Controller指向绘制页面或者重定向请求的特性。我们来看看Templates是如何工作来充当View的角色的。其实之前我们已经在使用Template渲染页面了,只不过那些页面都是包含静态信息。静态页面用来充当页面跳转调试中使用的例子还好因为简单易写,其他时候用处不大;包含动态信息的页面才更能满足我们实际网站开发的需要。通过向Templates中增加Ruby语言脚本,我们可以向页面中嵌入动态信息。如此可以看出,Templates将会成为HTML与Ruby代码的混合体,就像JSP页面是向HTML中嵌入JAVA代码一样。嵌入的Ruby脚本被称作“ERb(Embedeed Ruby)”。Template的文件名为xx.html.erb,被称作名为xx的Template,经过ERb处理之后生成HTML页面。

使用<% code %>和<%= code %>标签向Templates中嵌入Ruby脚本。这两种标签中的code都会被执行,其中的区别是带有等号的方式将会把代码执行的结果输出到页面。修改名为hello的Template,分别使用两种标签为例。

<h1>Demo#hello</h1> <p>Hello Page!</p>  without '=' "<% 1+1 %>"  <br/>  with '=' "<%= 1+1 %>"  <p>Find me in app/views/demo/hello.html.erb</p>

<% 1+1 %>中的内容没有输出,<%= 1+1 %>中的计算结果被输出到页面上。

对于同一个Template来说,嵌入的Ruby脚本处于同一空间,可以定义并访问变量。下面一行的脚本可以访问之前定义的局部变量。

<h1>Demo#hello</h1> <p>Hello Page!</p>  <% name="abbuggy" %> <%= "Hello #{name} !"%>  <p>Find me in app/views/demo/hello.html.erb</p>


再来个循环的

<h1>Demo#hello</h1> <p>Hello Page!</p>  <% name="abbuggy" %> <%= "Hello #{name} !" %> <% for i in 0..name.length do %> 	<br/><%= name[i] %> <% end %>  <p>Find me in app/views/demo/hello.html.erb</p> 

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

来源:http://www.cnblogs.com/abbuggy/archive/2012/06/03/2594220.ht

推荐: