1、安裝Ruby Windows用戶去 https://rubyforge.org/ 的 https://rubyforge.org/projects/rubyinstaller/ 下載 One-Click Installer - Windows 安裝即可,最新版1.8.5-21
2、測試是否安裝成功 建議一個Test.rb文件,內容如下
-
hello = "Hello Ruby World."
-
puts hello
在命令行下運行 ruby Test.rb ,注意安裝時%RUBY_HOME%/bin已經設置在你的PATH中了,檢查一下即可,運行正確的話就會顯示 Hello Ruby World. 結果出來
也可以啟動FreeRIDE,新建一個文件,保存,按F5就可以運行得到結果了。在FreeRIDE的Edit菜單==>Preferences...==>Debugger/Run的右邊,選中Run process in terminal,運行時可以打開新的窗口來查看,默認在FreeRIDE下麵顯示結果。
3、利用gem安裝其它模塊 在命令行下運行 gem install rails 安裝提示與結果 Install required dependency activesupport? [Yn] y Install required dependency activerecord? [Yn] y Install required dependency actionpack? [Yn] y Install required dependency actionmailer? [Yn] y Install required dependency actionwebservice? [Yn] y Successfully installed rails-1.1.6 Successfully installed activesupport-1.3.1 Successfully installed activerecord-1.14.4 Successfully installed actionpack-1.12.5 Successfully installed actionmailer-1.2.5 Successfully installed actionwebservice-1.1.6 Installing ri documentation for activesupport-1.3.1... Installing ri documentation for activerecord-1.14.4... Installing ri documentation for actionpack-1.12.5... Installing ri documentation for actionmailer-1.2.5... Installing ri documentation for actionwebservice-1.1.6... Installing RDoc documentation for activesupport-1.3.1... Installing RDoc documentation for activerecord-1.14.4... Installing RDoc documentation for actionpack-1.12.5... Installing RDoc documentation for actionmailer-1.2.5... Installing RDoc documentation for actionwebservice-1.1.6...
再運行gem list檢查一下看是否安裝上去了,會有一堆列表顯示,新的也在裏麵,安裝前後各gem list一下,就可以對比得到以下結果
4、安裝後各模塊介紹 actionmailer (1.2.5) 郵件分發與測試模塊,類似Java裏的JavaMail的東東 actionpack (1.12.5) 類似於Web的MVC中的V與C actionwebservice (1.1.6) Web Service支持 activerecord (1.14.4) ORM工具,類似Java中的Hibernate之類的 activesupport (1.3.1) Rails框架所依賴的一些基礎工具類 rails (1.1.6) Web應用框架Rails包含模板引擎,控製層及ORM
5、默認安裝後的模塊有 fxri (0.3.3) Graphical interface to the RI documentation, with search engine. fxruby (1.6.1, 1.2.6) FXRuby is the Ruby binding to the FOX GUI toolkit. log4r (1.0.5) 日誌庫,Java中就象Log4J或Jakarta的Commons-Logging rake (0.7.1) 類似make的工具,Java中就象Ant或Maven sources (0.0.1) This package provides download sources for remote gem installation win32-clipboard (0.4.0) A package for interacting with the Windows clipboard win32-dir (0.3.0) Extra constants and methods for the Dir class on Windows. win32-eventlog (0.4.1) Interface for the MS Windows Event Log. win32-file (0.5.2) Extra or redefined methods for the File class on Windows. win32-file-stat (1.2.2) A File::Stat class tailored to MS Windows win32-process (0.4.2) Adds fork, wait, wait2, waitpid, waitpid2 and a special kill method win32-sapi (0.1.3) An interface to the MS SAPI (Sound API) library. win32-sound (0.4.0) A package for playing with sound on Windows. windows-pr (0.5.1) Windows functions and constants predefined via Win32API
6、創建Web應用 在命令行下運行 rails rorweb ,會在rorweb目錄下創建相應的一堆完整的Web應用的目錄結構,然後你應該做的就是寫你的程序了。 create create app/controllers create app/helpers create app/models create app/views/layouts create config/environments create components create db create doc create lib create lib/tasks create log create public/images create public/javascripts create public/stylesheets create script/performance create script/process create test/fixtures create test/functional create test/integration create test/mocks/development create test/mocks/test create test/unit create vendor create vendor/plugins create tmp/sessions create tmp/sockets create tmp/cache create Rakefile create README create app/controllers/application.rb create app/helpers/application_helper.rb create test/test_helper.rb create config/database.yml create config/routes.rb create public/.htaccess create config/boot.rb create config/environment.rb create config/environments/production.rb create config/environments/development.rb create config/environments/test.rb create script/about create script/breakpointer create script/console create script/destroy create script/generate create script/performance/benchmarker create script/performance/profiler create script/process/reaper create script/process/spawner create script/runner create script/server create script/plugin create public/dispatch.rb create public/dispatch.cgi create public/dispatch.fcgi create public/404.html create public/500.html create public/index.html create public/favicon.ico create public/robots.txt create public/images/rails.png create public/javascripts/prototype.js create public/javascripts/effects.js create public/javascripts/dragdrop.js create public/javascripts/controls.js create public/javascripts/application.js create doc/README_FOR_APP create log/server.log create log/production.log create log/development.log create log/test.log
7、啟動Web應用 進入rorweb目錄,運行 ruby script/server 啟動之,信息如下 => Booting WEBrick... => Rails application started on https://0.0.0.0:3000 => Ctrl-C to shutdown server; call with --help for options [2006-11-25 08:47:44] INFO WEBrick 1.3.1 [2006-11-25 08:47:44] INFO ruby 1.8.4 (2006-04-14) [i386-mswin32] [2006-11-25 08:47:44] INFO WEBrick::HTTPServer#start: pid=2564 port=3000
默認webrick服務器啟用了3000端口,訪問一下 https://localhost:3000 ,打開後可以看到如下之類的信息。 Welcome aboard You’re riding the Rails! About your application’s environment 點擊查看: Ruby version 1.8.4 (i386-mswin32) RubyGems version 0.9.0 Rails version 1.1.6 Active Record version 1.14.4 Action Pack version 1.12.5 Action Web Service version 1.1.6 Action Mailer version 1.2.5 Active Support version 1.3.1 Application root X:/OpenSource/Ruby/rorweb Environment development Database adapter mysql
關於webrick服務器更多的信息可以訪問 https://www.webrick.org/
8、寫一個HelloRoR的Web程序 打開rorweb/app目錄,可以看到四個子目錄 controllers helpers models views 一看就知道是什麼作用了吧:)
仍在rorweb目錄,運行 ruby script/generate controller HelloRoR 可以看到如下的創建信息 exists app/controllers/ exists app/helpers/ create app/views/hello_ro_r exists test/functional/ create app/controllers/hello_ro_r_controller.rb create test/functional/hello_ro_r_controller_test.rb create app/helpers/hello_ro_r_helper.rb
打開 hello_ro_r_controller.rb 進行編輯,增加內容後全部如下:
ruby 代碼
-
class HelloRoRController < ApplicationController
-
def index
-
render_text "Hello RoR World"
-
end
-
def rails
-
render_text "Hello Rails"
-
end
-
end
訪問 https://localhost:3000/hello_ro_r/ 就可以看到Hello RoR World結果了 訪問 https://localhost:3000/hello_ro_r/rails 就可以看到Hello Rails結果了
注意是 hello_ro_r 不是HelloRoR,默認是小寫,並寫大小寫之間用_分隔了,要注意一下,如果要進行對應,就全部小寫建立應用,如: 運行 ruby script/generate controller helloror ,這樣就是生成 helloror_controller.rb 了,然後訪問 https://localhost:3000/helloror/ 了
其它:1.8.4與1.8.5的區別 1.8.4 win32-clipboard (0.4.0) win32-eventlog (0.4.1) win32-process (0.4.2) windows-pr (0.5.1) 1.8.5 win32-clipboard (0.4.1) win32-eventlog (0.4.2) win32-process (0.5.1) windows-pr (0.5.3, 0.5.1)
1.8.5的升級:gem install rails Bulk updating Gem source index for: https://gems.rubyforge.org Install required dependency activesupport? [Yn] y Install required dependency activerecord? [Yn] y Install required dependency actionpack? [Yn] y Install required dependency actionmailer? [Yn] y Install required dependency actionwebservice? [Yn] y Successfully installed rails-1.1.6 Successfully installed activesupport-1.3.1 Successfully installed activerecord-1.14.4 Successfully installed actionpack-1.12.5 Successfully installed actionmailer-1.2.5 Successfully installed actionwebservice-1.1.6 Installing ri documentation for activesupport-1.3.1... While generating documentation for activesupport-1.3.1 ... MESSAGE: Unhandled special: Special: type=17, text="<!-- HI -->" ... RDOC args: --ri --op F:/OpenSource/RoR/Ruby/lib/ruby/gems/1.8/doc/activesupport-1.3.1/ri --quiet lib (continuing with the rest of the installation) Installing ri documentation for activerecord-1.14.4... Installing ri documentation for actionpack-1.12.5... While generating documentation for actionpack-1.12.5 ... MESSAGE: Unhandled special: Special: type=17, text="<!-- The header part of this layout -->" ... RDOC args: --ri --op F:/OpenSource/RoR/Ruby/lib/ruby/gems/1.8/doc/actionpack-1.12.5/ri --quiet lib (continuing with the rest of the installation) Installing ri documentation for actionmailer-1.2.5... Installing ri documentation for actionwebservice-1.1.6... Installing RDoc documentation for activesupport-1.3.1... Installing RDoc documentation for activerecord-1.14.4... Installing RDoc documentation for actionpack-1.12.5... Installing RDoc documentation for actionmailer-1.2.5... Installing RDoc documentation for actionwebservice-1.1.6...
9、中文截取問題測試 https://my.opera.com/sawpad/blog/show.dml/235183 從以上地址拿到程序放到 rorweb/lib/ 目錄下
ruby 代碼
-
u = USCutter.new("GBK")
-
u1 = USCutter.new("GBK")
-
u2 = USCutter.new("GBK")
-
s = "we love 中文截取問題"
-
s1 = u.cut(s,0,10)
-
s2 = u1.cut(s,0,11)
-
s3 = u2.cut(s,0,12)
-
puts s1
-
puts s2
-
puts s3
記得JavaEye上線時也是亂碼問題,現在解決了的,原來我給Robbin寫過用JavaScript來解決亂碼的問題,不知道Robbin後來如何解決的,搜了一下,沒有發現解決方案?
|