RubyOnRails搭建web應(yīng)用手冊_第1頁
RubyOnRails搭建web應(yīng)用手冊_第2頁
RubyOnRails搭建web應(yīng)用手冊_第3頁
RubyOnRails搭建web應(yīng)用手冊_第4頁
RubyOnRails搭建web應(yīng)用手冊_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

RubyOnRails搭建web手冊安裝開發(fā)運(yùn)行環(huán)境下載rubyonrails一鍵安裝包,并安裝。/railsinstaller/Windows/railsinstaller-3.1.0.exe更換鏡像站點(diǎn)gemsources--add/--remove/安裝bundlergeminstallbundler利用命令創(chuàng)建web應(yīng)用Railsnew項(xiàng)目名修改項(xiàng)目配置在config/application.rb中加入config.secret_key_base='blipblapblup'項(xiàng)目目錄下的Gemfile文件,將第一行改為:source'/'修改項(xiàng)目的數(shù)據(jù)源配置config\database.yml安裝項(xiàng)目所依賴的所有g(shù)emsbundleinstall--withoutdevelopmenttestrmagickbundleexecrakegenerate_secret_token設(shè)置項(xiàng)目的端口railss-p888啟動(dòng)項(xiàng)目RailsserverRubyOnRails單表操作利用命令在代碼中創(chuàng)建相關(guān)文件railsgeneratescaffoldcompanyname:stringphone:stringaddress:stringemail:stringfax:stringdescription:textlevel:decimal注釋:railsgeneratescaffold表示Rails生成支架company表示支架名稱,在RubyOnRails中約定大于配置,會(huì)默認(rèn)在支架名后加s形成相關(guān)的支架,比如views、models、helpers、controllers。同時(shí)也和數(shù)據(jù)庫中表的名稱相對應(yīng)。name:stringphone:stringaddress:stringemail:stringfax:stringdescription:textlevel:decimal表示支架在數(shù)據(jù)庫中對應(yīng)的字段和類型rails搭建項(xiàng)目實(shí)例手冊最近在接手一個(gè)手機(jī)項(xiàng)目。在搭建環(huán)境的過程中,遇到了一些問題,在下文中已做記錄,并奉上個(gè)人的解決方案。開發(fā)環(huán)境

win2003;

JetBrainsRubyMine6.3.3

1、

下載最新版ruby,(rubyinstaller-2.0.0-p598.exe,最新版)官網(wǎng):/downloads/2、

安裝ruby雙擊安裝,安裝過程出現(xiàn)如下界面。如圖這里我們選擇安裝路徑為D:\Ruby200。下面有3個(gè)選項(xiàng)分別是:(1)是否安裝tclTk支持。(2)添加ruby命令路徑到系統(tǒng)環(huán)境變量PATH。(3)是否將.rb和.rbw文件關(guān)聯(lián)到Ruby。

這里我們?nèi)看蚬?。點(diǎn)擊“Install”安裝完畢。3、

查看安裝結(jié)果Windows環(huán)境下,cmd中輸入:ruby–v查看ruby版本。如下圖:

下載并安裝RailsWindowsCMD中運(yùn)行"geminstallrails--include-dependencies",如果你想看看都裝那些包了,就輸入"geminstallrails",程序自動(dòng)下載,然后就剩下等待了。=======================================================gem經(jīng)常很慢,有時(shí)會(huì)報(bào)以下錯(cuò)誤,解決方案為替換成taobao的進(jìn)行解決,如下:

gem

install

rails

時(shí),可能會(huì)報(bào)這段錯(cuò)誤

ERROR:

Could

not

find

a

valid

gem

'rails'

(>=

0)

in

any

repository

ERROR:

While

executing

gem

...

(Gem::RemoteFetcher::FetchError)$gemsources--remove/

$gemsources-a/

$gemsources-l

***CURRENTSOURCES***

#請確保只有

$geminstallfoo==================================================================

完成之后,也可以用rails-v查看版本信息。安裝完畢。

下載并安裝DevKitDevKit是windows平臺(tái)下編譯和使用本地C/C++擴(kuò)展包的工具。它就是用來模擬Linux平臺(tái)下的make,gcc,sh來進(jìn)行編譯。這個(gè)方法目前僅支持通過RubyInstaller安裝的Ruby。下載Devkit:/downloads如果上面的地址打不開,就從這里下載:/oneclick/rubyinstaller/downloads/

安裝步驟:1)將下載DevKit解壓到D:\DevKit目錄。

2)打開CMD窗口,進(jìn)入D:\DevKit目錄,輸入rubydk.rbinit。#生成config.yml,這里會(huì)檢查將要添加DevKit支持的Ruby列表,只支持通過RubyInstaller安裝的Ruby。

3)輸入rubydk.rbinstall

#開始安裝。

4)輸入rubydk.rbreview

#檢查要添加DevKit支持的Ruby列表是否有誤,可以略過。

5)輸入geminstallrdiscount--platform=ruby。#這一步只是驗(yàn)證DevKit是否安裝成功,如果能安裝rdiscount成功說明安裝DevKit成功,也可以不做。

創(chuàng)建空的rails網(wǎng)頁框架打開CMD提示窗口,進(jìn)入D盤,輸入指令:railsnewwww,會(huì)在D盤創(chuàng)建名稱為www的rails項(xiàng)目結(jié)構(gòu)。在命令行下轉(zhuǎn)到項(xiàng)目目錄Rails存在一個(gè)問題,哪怕有那么一個(gè)Gem安裝不上也是沒法運(yùn)行的,其實(shí)可以忽略掉,到用到那個(gè)功能的時(shí)候才出錯(cuò)誤提示(VisualStudio的發(fā)布就簡潔方便多了)這個(gè)發(fā)布服務(wù),費(fèi)了一二小時(shí)的時(shí)間,真心不容易:)bundleinstall運(yùn)行:railsserver

#啟動(dòng)服務(wù)Webrick簡介:

Ruby默認(rèn)已經(jīng)包含了豐富的軟件,其中webrickhttp服務(wù)器就是其中之一。這個(gè)程序包被用作rubygem的默認(rèn)文檔服務(wù)器。這是一個(gè)非常簡單的純r(jià)uby編寫的服務(wù)器。感興趣的朋友可以去google下更多的內(nèi)容。打開瀏覽器輸入:3000就可以看到初始化頁面了。

下來我們讓Rails說"Hello"Rails是一個(gè)MVC框架,Rails接收來自瀏覽器的請求,對請求進(jìn)行解讀以找到合適的控制器,再調(diào)用控制器中合適的方法。然后,控制調(diào)用合適的視圖,把結(jié)果顯示給用戶。Rails提供了快速創(chuàng)建視圖和控制的方法,打開CMD命令窗口。進(jìn)入到剛才的www項(xiàng)目目錄,輸入命令:railsgeneratecontrollersay

hello

如圖:下面我打開上圖中提示的視圖文件,路徑是/項(xiàng)目目錄/app/views/say/hello.html.erb修改為如下形式:<h1>Say#hello</h1><p>現(xiàn)在時(shí)間是:<%=@time%></p>注意:將視圖文件hello.html.erb另存為UTF-8編碼格式,否則中文會(huì)出現(xiàn)亂碼。說明一下是UTF-8編碼,而不是UTF-8+BOM編碼,BOM是通過文件開頭添加幾個(gè)字符表示文件編碼的標(biāo)準(zhǔn)。但是只有微軟用了,x-nix、PHP、Ruby不認(rèn)。接著打開控制器文件,路徑是/項(xiàng)目目錄/app/controllers/say_controller.rb修改為classSayController<ApplicationControllerdefhello@time=Time.nowendend

或在hello.html.erb文件的最后添加goodbye網(wǎng)頁的鏈接:<p>

Say<ahref="say/goodbye">Goodbye</a>!</p>打開瀏覽器訪問:http://localhost:3000/say/hello,結(jié)果如下圖。

如果要更改首頁,讓首頁顯示Hello。只需2步:1)找到/項(xiàng)目目錄/config/route.rb文件,查找到這行

#root:to=>'welcome#index'

去掉注釋并設(shè)置為自己的控制器,修改為:

root:to=>'say#hello'2)刪除/項(xiàng)目目錄/public/index.html文件,因?yàn)閞ails優(yōu)先讀取public目錄下的靜態(tài)文件。再次訪問:http://localhost:3000/,首頁顯示Say#Hello,于上圖的內(nèi)容一致。六創(chuàng)建一個(gè)使用MySQL數(shù)據(jù)庫的Rails項(xiàng)目1)打開CMD窗口,進(jìn)入D盤,輸入命令:railsnewwork

--databaseMysql,在D盤創(chuàng)建名稱為work的rails項(xiàng)目結(jié)構(gòu)。2)必須將libmysql.dll庫拷貝到Ruby安裝目錄的Bin目錄下(D:\Ruby\Bin)。否則在啟動(dòng)服務(wù)器時(shí)候會(huì)提示:“沒有找到LIBMYSQL.dll,因此這個(gè)應(yīng)用程序未能啟動(dòng)。重新安裝應(yīng)用程序可能會(huì)修復(fù)此問題?!?/p>

下載地址:/downloads/connector/c/

我們這里下載mysql-connector-c-noinstall-6.0.2-win32.zip,解壓縮,在lib目錄里面的libmysql.dll就是我們要找的。3)修改數(shù)據(jù)庫的配置信息。在/項(xiàng)目目錄/config/database.yml文件中,分別對應(yīng)“開發(fā)”、“測試”,“生產(chǎn)”數(shù)據(jù)庫的配置,把他們修改為自己的配置。

其中development是我們開發(fā)中要實(shí)際使用的數(shù)據(jù)庫。一定要注意在username:和password:后面至少要保留一個(gè)空格。4)在CMD窗口輸入rakedb:craete

命令,會(huì)在msyql中創(chuàng)建由配置信息中所設(shè)置的數(shù)據(jù)庫。5)我們用scaffold來生成代碼,在CMD中輸入下面指令:

railsgeneratescaffoldpost

title:stringbody:stringaddTime:datetime

這時(shí)候會(huì)創(chuàng)建controller,views,models和數(shù)據(jù)庫腳本,但此時(shí)還沒有創(chuàng)建表。

再輸入:rakedb:migrate創(chuàng)建表。完成。6)執(zhí)行命令railsserver

通過瀏覽器訪問:http://localhost:3000/posts

這個(gè)頁面已經(jīng)為我們生成了增刪改查代碼。

>>>>命令,把你的rails網(wǎng)站啟動(dòng)在端口888上railss-p888

MySQLonWindows

下載地址:/downloads/connector/c/

配置數(shù)據(jù)庫信息rails給我們生成的文件中有個(gè)config文件夾,里面有database.yml文件,打開文件,發(fā)現(xiàn)里面有如下一段內(nèi)容:

1development:2adapter:sqlite33database:db/development.sqlite34pool:55timeout:500067#Warning:Thedatabasedefinedas"test"willbeerasedand8#re-generatedfromyourdevelopmentdatabasewhenyourun"rake".9#Donotsetthisdbtothesameasdevelopmentorproduction.10test:11adapter:sqlite312database:db/test.sqlite313pool:514timeout:50001516production:17adapter:sqlite318database:db/production.sqlite319pool:520timeout:5000將development中的內(nèi)容修改如下:

development:adapter:mysql2database:oaonlinehost:01username:rootpassword:rootencoding:utf8reconnect:falsepool:5timeout:5000通過遷移來創(chuàng)建數(shù)據(jù)表rakedb:migrate竟然出現(xiàn)如下問題:

1(in/home/steven/RubymineProjects/OAONLINE)2rakeaborted!3Specified'mysql2'fordatabaseadapter,butthegemisnotloaded.Add`gem'mysql2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論