Rails的學(xué)習(xí)我主要基于《Ruby on rails 教程》《Agile Web Development with Rails 4 》,官網(wǎng)的API文檔和 來(lái)自Ruby-China的指南(http://guides.ruby-china.org/index.html)來(lái)學(xué)習(xí),整體上按照《Agile Web Development with Rails 4 》的目錄順序記述。
創(chuàng)新互聯(lián)是一家專業(yè)提供荔灣企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為荔灣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。美好的學(xué)習(xí)從創(chuàng)建項(xiàng)目開始。。
Rails自帶了一整套命令行工具
首先創(chuàng)建了work目錄并進(jìn)入
然后 使用rails new demo
創(chuàng)建了一個(gè)名為demo的項(xiàng)目
如下圖所示
當(dāng)如下圖顯示時(shí)說明創(chuàng)建完成
項(xiàng)目結(jié)構(gòu)如下圖顯示
下圖是各個(gè)文件夾的用途:圖源:http://guides.ruby-china.org/index.html
執(zhí)行rake baout 能查看安裝信息(只截取了部分內(nèi)容)
rake about 還會(huì)檢測(cè)是否有安裝錯(cuò)誤
一切ok后,執(zhí)行rails s (rails server的簡(jiǎn)寫)
由于這個(gè)虛擬環(huán)境已經(jīng)安裝了nodejs,所以沒有出現(xiàn)JavaScript runtime 錯(cuò)誤,能夠正常執(zhí)行
結(jié)果如下:
vagrant已經(jīng)設(shè)置了private_network 并指定ip為192.168.33.10,所以直接訪問 http://192.168.33.10:3000/ 結(jié)果如下:
又見hello,Rails。。。我為什么要加個(gè)又呢冏
rails g controller Say hello goodbye (rails generate)用于生成控制器
打開demo/app/controllers/say_controller.rb 生成結(jié)果如下
Rails 與請(qǐng)求URL
啟動(dòng)服務(wù)器后 訪問http://192.168.33.10:3000/say/hello
出現(xiàn)下圖:
如圖所示,Rails 默認(rèn)會(huì)尋找與控制器同名的模板文件,打開模板文件顯示如下
修改后:
刷新游覽器后
一個(gè)請(qǐng)求的執(zhí)行流程如下:(摘自《Ruby on rails 教程》)
Rails接受一個(gè)請(qǐng)求后,交由控制器處理,由控制器決定下一步如何處理,是立即渲染視圖并返回給游覽器或是先與model交互再渲染視圖。寫到這兒,有點(diǎn)好奇Django的MTV模式,有空也好好琢磨下。
添加點(diǎn)動(dòng)態(tài)內(nèi)容
打開模板文件修改如下:
刷新頁(yè)面,顯示如下:
添加時(shí)間的改良版寫法
控制器:
模板:
以上的代碼展現(xiàn)了Rails 約定大于配置的原則。。
添加鏈接
首先修改demo/app/views/say/goodbye.html.erb 結(jié)果如下
頁(yè)面顯示如下:
添加鏈接啦!
修改hello和goodbye模板如下:
hello
goodbye:
結(jié)果:
點(diǎn)擊后:
書上第二章到此結(jié)束! 撒花??!
補(bǔ)充:
本地生成api文檔的方法
rails new projectname
cd projectname
rake doc:rails # 生成API文檔
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。