ROR學習筆記1

2021-08-23 11:53:49 字數 1681 閱讀 9000

在成功的安裝好ror環境後(本人安裝的是instantrails-2.0-win),所做的第一件事,就是要建立乙個最簡單的db demo了,步驟如下:

2.建立應用程式框架: rails demo -d mysql (表示建立應用程式demo,並使用mysql資料庫做為預設資料庫),此時將生成一堆檔案

3.開啟config/database.yml,修改其中的資料庫相關的配置,保證其能連線上資料庫(本人資料庫名為預設demo,因為在開發階段,所以資料庫名為demo_development)

4.現在開始建立資料庫,用instantrails自帶的phpmyadmin建立資料庫demo_development

5.建立scaffold, 命令: ruby script/generate scaffold user name:string pass:string age:integer ,命令執行成功後,會生成相應的mvc檔案,和第乙個版本的資料庫遷移檔案001_create_users.

6.上一步的操作只是生成了相應的檔案,並沒有實際在資料庫中生成表,要實際生成表,需要使用rake進行資料遷移,命令:rake db:migrate ,執行成功後,檢查一下資料庫,會發現生成了乙個users表(注意:這裡的表名是users,比前面的user多了乙個s,是乙個複數形式),同時也生成了乙個表名叫schemainfo,這個表是記錄資料庫版本資訊的,觀察裡面的資料,只有乙個version欄位,並且此時的version的值為1.

7.執行ruby script/server ,伺服器執行起來後,開啟瀏覽器http://localhost:3000/users, 出現user列表,以及相應的crud相應的鏈結,crud成功執行,至此,乙個最簡單的db demo成功建立完成。

8.上一步的demo建立成功,這一步我想要在users表中新增加兩個欄位phone和mobile,此時仍然需要用到rake的資料庫遷移工具,先執行 ruby script/generate migration add_phonemobile ,成功後會生成乙個第二個版本的資料庫遷移檔案:002_add_phonemobile.rb,編輯這個檔案,修改為:

class add_phonemobile < activerecord::migration

def self.up

add_column :users, :phone, :string

add_column :users, :mobile, :string

enddef self.down

remove_column :users, :phone

remove_column :users, :mobile

endend

9.再次執行rake db:migrate,執行完成後,會發現資料庫中新增加了phone和mobile兩個欄位. 觀察schemainfo的資料,version值變為2.

11.如果想要回到以前的資料庫版本,可以執行命令:rake db:migrate version=x,這裡的x就代表代想要回到的版本號。

12.做完資料庫遷移後,重新整理view,本人發現裡面的字段是最初生成的name:string pass:string age:integer,三個字段,並沒有新增字段,此時需要手動將新增的字段修改到crud view上面去,不知道有沒有自動更新view的方法。

好啦,這個demo就到此為至,作為我的第乙個ror學習筆記。以後我會堅持寫ror筆記,盼望能學得快一些!!

ROR3 0學習筆記1

最近通過 應用rails進行敏捷web開發 第4版 agile.web.development.with.rails.4th.edition s.ruby d.thomas d.h.hansson開始學習ror 可惜是英文的看不大懂,因此寫點日誌記錄下學習心得,有什麼不對的地方還請指正。rails開...

ROR學習筆記

1.關於form for的理解 form for book,book,url do f book 決定 name 和 id book 決定 value值 所以在新建model的表單都沒有 book引數 在update和delete的表單裡都帶上 book引數用來顯示 2.關於form.select ...

ROR學習筆記 一)

1.執行rails幫助文件 在本地執行乙個8808埠的單獨的web伺服器,裡面包含rails文件 gem server 在ie瀏覽器裡輸入 http localhost 8808即可看到該文件 2.對rails框架的初步理解 1 rails能給我們提供現成的基本的web架構,就像要造一座房子之前先造...