把《應用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.tkk7.com對FirFox支持不太好,在編輯文章復制粘貼時,平白彈出一個窗口,多出了兩步麻煩的操作。