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

来源:互联网 发布:淘宝app图标素材 编辑:程序博客网 时间:2024/05/17 22:21

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 移动100兆网速慢怎么办 手机显示无法解析dns地址怎么办 台式电脑宽带连接不上怎么办 电信宽带账号登录密码忘记了怎么办 电信校园宽带超时了怎么办 宽带连接账号密码忘了怎么办 移动宽带路由器上不了网怎么办 移动宽带太卡了怎么办 电信adsl密码忘记了怎么办 移动宽带无法连接网络怎么办 移动宽带电视无信号怎么办 联通网线故障电话打不通怎么办 w10系统ip地址错误怎么办 移动流量太贵了怎么办 修改wifi密码ip地址怎么办 苹果6s接电话声音小怎么办 k歌录音器失败怎么办 想报警但不能说话怎么办 微粒贷要家人电话怎么办 4g网络信号差怎么办 手机移动网络信号不好怎么办 移动的4g网络差怎么办 4g移动网络慢怎么办 房间没有4g网络怎么办 oppo显示2g网络怎么办 oppo只有2g网络怎么办 移动卡4g网络慢怎么办 易信专线电话用完了怎么办 手机拨打电话时黑屏怎么办 网易号文章一直审核中怎么办 登陆积分会员忘记密码怎么办 易信密码忘记了怎么办 滴滴永久封停的号怎么办 微信版本过低怎么办 报关时通关单号没录怎么办 公司注销了行政许可证怎么办呢 报关项数超过50项怎么办 出口报关件数报多了怎么办 关税少交被海关缉私查到怎么办 外贸报关hs编码报错怎么办 报关金额少报了怎么办