最近在接手一個手機項目。在搭建環境的過程中,遇到了一些問題,在下文中已做記錄,並奉上個人的解決方案。
開發環境 win2003 ; JetBrains RubyMine6.3.3
1、 下載最新版ruby,(rubyinstaller-2.0.0-p598.exe ,最新版)
官網:http://rubyinstaller.org/downloads/
2、 安裝ruby
雙擊安裝,安裝過程出現如下界面。如圖
這里我們選擇安裝路徑為 D:\Ruby200。 下面有3個選項分別是:(1) 是否安裝tclTk支持。(2) 添加ruby命令路徑到系統環境變量PATH。(3)是否將 .rb 和.rbw 文件關聯到Ruby。
這里我們全部打勾。點擊“Install” 安裝完畢。
3、 查看安裝結果
Windows環境下,cmd中輸入:ruby –v 查看ruby版本。如下圖:
下載並安裝Rails
Windows CMD 中運行"gem install rails --include-dependencies", 如果你想看看都裝那些包了, 就輸入"gem install rails",程序自動下載, 然后就剩下等待了。
=======================================================
gem經常很慢,有時會報以下錯誤, 解決方案為替換成taobao的進行解決,如下:
$ gem sources --remove http://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***
http://ruby.taobao.org
# 請確保只有 ruby.taobao.org
$ gem install foo
==================================================================
完成之后,也可以用 rails -v 查看版本信息。
安裝完畢。
下載並安裝DevKit
DevKit 是windows平台下編譯和使用本地C/C++擴展包的工具。它就是用來模擬Linux平台下的make, gcc, sh來進行編譯。這個方法目前僅支持通過RubyInstaller安裝的Ruby。
下載Devkit:http://rubyinstaller.org/downloads
如果上面的地址打不開,就從這里下載:https://github.com/oneclick/rubyinstaller/downloads/
安裝步驟:
1) 將下載 DevKit 解壓到 D:\DevKit 目錄。
2) 打開 CMD 窗口,進入 D:\DevKit 目錄,輸入ruby dk.rb init 。#生成config.yml,這里會檢查將要添加DevKit支持的Ruby列表,只支持通過RubyInstaller安裝的Ruby。
3) 輸入 ruby dk.rb install #開始安裝。
4) 輸入 ruby dk.rb review #檢查要添加DevKit支持的Ruby列表是否有誤,可以略過。
5) 輸入 gem install rdiscount --platform=ruby 。#這一步只是驗證DevKit是否安裝成功,如果能安裝rdiscount成功說明安裝DevKit成功,也可以不做。
創建空的rails網頁框架
打開CMD提示窗口,進入D盤,輸入指令:rails new www ,會在D盤創建名稱為www 的rails項目結構。
在命令行下轉到項目目錄
Rails 存在一個問題,哪怕有那么一個 Gem 安裝不上也是沒法運行的,其實可以忽略掉,到用到那個功能的時候才出錯誤提示(Visual Studio的發布就簡潔方便多了 )
這個發布服務,費了一二小時的時間, 真心不容易:)
bundle install
運行:rails server #啟動服務
Webrick 簡介:
Ruby 默認已經包含了豐富的軟件,其中 webrick http 服務器就是其中之一。 這個程序包被用作 rubygem 的默認文檔服務器。這是一個非常簡單的純 ruby 編寫的服務器。感興趣的朋友可以去google下更多的內容。
打開瀏覽器輸入
http://127.0.0.1:3000
就可以看到初始化頁面了。
下來我們讓Rails說 "Hello"
Rails是一個MVC框架,Rails接收來自瀏覽器的請求,對請求進行解讀以找到合適的控制器,再調用控制器中合適的方法。然后,控制調用合適的視圖,把結果顯示給用戶。Rails提供了快速創建視圖和控制的方法,打開CMD命令窗口。進入到剛才的www項目目錄,輸入命令:rails generate controller say hello 如圖:
下面我打開上圖中提示的視圖文件,路徑是 /項目目錄/app/views/say/hello.html.erb
修改為如下形式:
<h1>Say#hello</h1> <p>現在時間是:<%=@time%></p>
注意:將視圖文件 hello.html.erb 另存為UTF-8編碼格式,否則中文會出現亂碼。說明一下是UTF-8編碼,而不是 UTF-8 +BOM 編碼,BOM 是通過文件開頭添加幾個字符表示文件編碼的標准。但是只有微軟用了,x-nix 、PHP、Ruby 不認。
接着打開控制器文件,路徑是 /項目目錄/app/controllers/say_controller.rb
修改為
class SayController < ApplicationController def hello @time=Time.now end end
或在hello.html.erb文件的最后添加goodbye網頁的鏈接:
<p>
Say <a href="say/goodbye">Goodbye</a>!
</p>
打開瀏覽器訪問:http://localhost:3000/say/hello,結果如下圖。
如果要更改首頁,讓首頁顯示Hello。只需2步:
1) 找到 /項目目錄/config/route.rb 文件,查找到這行 # root :to => 'welcome#index' 去掉注釋並設置為自己的控制器,修改為 :
root :to => 'say#hello'
2) 刪除 /項目目錄/public/index.html 文件,因為rails優先讀取public目錄下的靜態文件。
再次訪問:http://localhost:3000/,首頁顯示Say#Hello,於上圖的內容一致。
六 創建一個使用MySQL數據庫的Rails項目
1) 打開CMD窗口,進入D盤,輸入命令:rails new work --database Mysql,在D盤創建名稱為 work 的rails 項目結構。
2) 必須將libmysql.dll庫拷貝到 Ruby安裝目錄的Bin目錄下(D:\Ruby\Bin)。否則在啟動服務器時候會提示:“沒有找到LIBMYSQL.dll,因此這個應用程序未能啟動。重新安裝應用程序可能會修復此問題。”
下載地址:http://www.mysql.com/downloads/connector/c/
我們這里下載 mysql-connector-c-noinstall-6.0.2-win32.zip ,解壓縮,在lib目錄里面的libmysql.dll 就是我們要找的。
3) 修改數據庫的配置信息。在 /項目目錄/config/database.yml 文件中,分別對應 “開發”、“測試”,“生產” 數據庫的配置,把他們修改為自己的配置。
其中development是我們開發中要實際使用的數據庫。一定要注意在username: 和 password: 后面至少要保留一個空格。
4) 在CMD窗口輸入rake db:craete 命令,會在msyql 中創建由配置信息中所設置的數據庫。
5) 我們用scaffold來生成代碼,在CMD中輸入下面指令:
rails generate scaffold post title:string body:string addTime:datetime
這時候會創建controller, views, models和數據庫腳本,但此時還沒有創建表。
再輸入:rake db:migrate 創建表。完成。
6) 執行命令 rails server
通過瀏覽器訪問:http://localhost:3000/posts 這個頁面已經為我們生成了增刪改查代碼。
>>>> 命令,把你的rails網站啟動在端口888上