在Windows平台上学习Ruby on Rails 的环境准备
1.到http://instantrails.rubyforge.org/wiki/wiki.pl下载InstantRails整合包. 包内带Apache,MySQL,Ruby和Rails. InstantRails解压缩即可使用,不用安装.
2.在InstantRails带的命令行平台(Rails Applications...=>Open Ruby Console Window)运行命令.
3.到http://www.radrails.org/下载RadRails在Windows平台的Ruby/Rails开发平台. 这个软件需要JRE支持.
4.桌面安排:开一个RadRails,开一个浏览器,开一个日志查看器.开一个http://api.rubyonrails.org 作为Rails参考手册.
06:03下午 六月 28, 2008 由 Kiven 发布在 ROR | 评论[0]
所有命令行在Ruby Console Window里输入.
1.创建一个程序:work> rails demo
2.启动内建的WEBrick服务器:demo> ruby script/server
WEBrick是用来调测ROR程序的理想Web服务器. 这个服务器定时刷新访问服务器文件内容,方便调试.
如WEBrick非默认服务器,使用demo>ruby script/server webrick可以强制启动这个服务器.
启动后可用http://localhost:3000地址访问.
3.URL解释:
http://localhost:3000/demo/say/hello
相应功能如下:
http://域名/程序/Controller/Action
4.创建一个Controller: demo> ruby script/generate controller Say
修改相应文件/demo/app/controllers/say_controller.rb为
class SayController < ApplicationController
def hello
end
end
*使用def 定义Action
5.创建相应模板文件/demo/app/views/say/hello.rhtml
文件内容:
<html>
<head>
<title>Hello, Rails!</title>
</head>
<body>
<h1>Hello from Rails!</h1>
</body>
</html>
rhtml文件是ERb(Embedded Ruby)文件格式. 在调用时Rails将解释里面的Ruby语句.
如:
<ul>
<li>Addition: <%= 1+2 %> </li>
<li>Concatenation: <%= "cow" + "boy" %> </li>
<li> 1.hour.from_now</li>
<li>Time in one hour: <%= 1.hour.from_now %> </li>
</ul>
可访问http://localhost:3000/say/hello查看效果.
中的<%=...%>内容将被解释.
*<%=...%>和VBScript的功能相似.
为了使<%=...%>之间的内容不带有HTML特殊符号,加强代码安全性,可使用h()将特殊字符进行处理,如:
Email: <%= h("Ann & Bill <frazers-AT-isp-DOT-email>"
%>
上面的处理效果是:
Email: Ann & Bill <frazers-AT-isp-DOT-email>
通常的Ruby语句放在<%...%>内,如:
<% 3.times do %>
Ho!<br />
<% end %>
Merry Christmas!
但会形成多余的换行符,可以使用<%...-%>解决这个问题.
如:
<% 3.times do -%>
Ho!<br />
<% end -%>
Merry Christmas!
6.让页面显示动态内容
修改/demo/app/controllers/say_controller.rb为:
class SayController < ApplicationController
def hello
@time = Time.now
end
end
修改/demo/app/views/say/hello.rhtml为:
<html>
<head>
<title>Hello, Rails!</title>
</head>
<body>
<h1>Hello from Rails!</h1>
<p>
It is now <%= @time %>
</p>
</body>
</html>
*使用@time定义变量
将代码和模板最大可能分离,以加强代码的灵活度.
7.创建链接
修改/demo/app/controllers/say_controller.rb,加入googby action.如:
class SayController < ApplicationController
def hello
@time = Time.now
end
def goodbye
end
end
新建Googbye action的相应模板
/demo/app/views/say/goodbye.rhtml,内容为:
<html>
<head>
<title>See You Later!</title>
</head>
<body>
<h1>Goodbye!</h1>
<p>
It was nice having you here.
</p>
<p>
Say <%= link_to "Hello", :action => "hello" %> again.
</p>
</body>
</html>
06:03下午 六月 28, 2008 由 Kiven 发布在 ROR | 评论[0]