Rails系列教程(9):Hello, Rails!(2)
上一篇 /
下一篇 2008-02-02 16:01:16
/ 个人分类:RoR
前面说过<%=%>来生成动态内容,其实ERb还有一种很重要的方式就是<% ruby code %>,来生成动态内容,他们两者的区别在于<%%>不会返回一个值,并用字符串的形式显示出来
<%%>解释并运行里面的ruby code,例如:
<% 3.times do %>
大家好!
<% end %>
另外介绍一个有用的方法---“h”,了解html的朋友知道,html语言里面存在一些字符,通过简单的输入得到(这样的字符在html里面被叫做特殊字符),比如输入:,在html里面要使用"©",输入空格,要使用" ",现在有了h这个method,我们只需要输入我们想要的字符(特殊字符)它会完成转化,例如,最常用的:
<%=h(" 2006 www.xxx.com") %>
特殊字符表下载
我们继续向下面看:
前面说过View和Controller有密切的关系,所以把它们绑定成为一个component(action pack),那么下面就是有关于他们如何紧密接触的一个方面:
定义hello:
class SayController < ApplicationController
def hello
@time = Time.now
end
end
hello.rhtml
<html>
<body>
<%= @time %>
</body>
</html>
结果显示出时间,我们知道对于一个instance variable,它的作用域仅仅限制在class内,外部是不能够应用的,在template里面可以调用@time是因为:controller将它的instance variable注入到了对应的template中了,强调2点,第一,某个controller的instance variable只能在对于的template中访问,注意对应;第二,注入的方向是从controller到template,也就是controller中的instance variable可以在template里面访问
相关阅读:
- Rails系列教程(1):Introduction (snake007008009, 2008-2-02)
- Rails系列教程(2):Models, Views, and Controllers (snake007008009, 2008-2-02)
- Rails系列教程(3):Database-centric Programming (snake007008009, 2008-2-02)
- Rails系列教程(4):Object/Relational Mapping (snake007008009, 2008-2-02)
- Rails系列教程(5):Active Records (snake007008009, 2008-2-02)
- Rails系列教程(6):Action Pack (snake007008009, 2008-2-02)
- Rails系列教程(7):Rails and Databases (snake007008009, 2008-2-02)
- Rails系列教程(8):Creating a New Application (snake007008009, 2008-2-02)
- Rails系列教程(9):Hello, Rails!(1) (snake007008009, 2008-2-02)
收藏
举报
TAG:
RoR