把《应用Rails..》从头再看了一遍,下面是第一部份(前4章)的笔记
下载Ruby的网址:http://rubyinstaller.rubyforge.org 检查:ruby -v
安装Rails的命令:gem install rails -include-dependencies 要注意网络通畅。
更新Rails的命令: gem update rails
创建一个名为chensite的项目,命令:rails chensite
启动内建的WEB服务器,先进入chensite目录,再输入命令:ruby script/server,访问http://localhost:3000
-----------------------
书中都是用文本编辑器来编辑代码,其实用RadRails这个IDE(Eclipse插件)更方便。
RadRails下载:http://radrails.sourceforge.net,我用的是radrails-0.7.1-win32.zip,解压后就可以用了。
下面讲一下它的配置,主要是在首选项窗口里设置。另注:除了配置ruby.exe有扩展名以外, 其他设定都没有扩展名。
Mongrel是WEB服务器,这里可不设置。一般是用Apache做前端请求转发,后端用mongrel做集群,以实现大负荷访问。
在Eclipse右下角的Server视图可以启动WEB服务器。
创建一个Controller,在书中是这个命令:ruby script/generate controller say
Eclipse中的方式则如下图所示:
在Eclipse中没有专门用于rhtml文件的新建项,以普通文件方式创建即可。不过,提供RHTML的编辑器,内含代码完成助手(Content Assist),代码提示功能不强,只会提示一些基本的语法流程框架,没有象JAVA编辑器那种类的方法的提示。
创建一个say控制器后,将say_controller.rb类如下
class SayController < ApplicationController
def hello
puts "chengang of puts"
@blogsite="www.chengang.com.cn"
3.downto(1) do |count| #每次减1,从3循环到1 (3、2、1共三次循环)
puts count
puts "#{count} " + @blogsite
end
end
end
hello相当于一个Action,不过要显示WEB页面(http://localhost:3000/say/hello )还需要在一个rhtml文件:views/say/hello.rhtml
<html>
<head>
<title>Hello,Rails!<title>
</head>
<body>
<h1>Hello from Rails! </h1>
<%=Time.now%> <br/><!--now方法不用括号-->
<%=@blogsite%> <!--可以直接使用SayController中的变量-->
<%= link_to "bye bye", :action=>"goodbye"%>
</body>
</html>
。link_to除了action,还可以定义controller,以及action的参数
。link_to "About", :controller=>"showpage", :action=>"about", :id=>11 则生成的url为
http://.../showpage/about/11。如果把上一个的id改为... :name=>"glchengang" ,则生成的url为
http://.../showpage/about?name="glchengang"。和前一个url比较得知id是默认参数,不显示。
<%=Time.now%> 显示当前时间
h()方法用于输出包含%<>等字符
1.hour.from_now 从现在过去1小时后的时间。数字也是一个对象,也具有方法。
3.times do #三次循环
puts "chengang"
end
3.downto(1) do |count| #每次减1,从3循环到1 。共三次循环,count是变量
puts count
end
<%= link_to "bye bye", :action=>"goodbye"%> 一个指向当前控制器say的goodbye这个Action的链接
---------------------------------------
www.blogjava.net对FirFox支持不太好,在编辑文章复制粘贴时,平白弹出一个窗口,多出了两步麻烦的操作。