天天看點

第2天 一個rails小例子

  還是不會用csdn的blog插入圖檔,截了很多圖,沒法插上 用控制寫一個簡單的rails程式,實作添加,修改,删除功能。建議安裝InstantRails,它內建了rails、ruby和mysql資料庫。使用很友善。 啟動InstantRails,并用它打開windows控制台。 第一步:建立一個新的工程,在控制帶輸入ruby leaveword 然後回車, 其中leaveword為工程名字。rails會自動在InstantRails下的rails_app目錄下建立leaveword工程,并在工程裡生成預設目錄結構和初始化檔案。 在控制台中進入leaveword目錄,然後輸入 ruby script\server啟動伺服器 在浏覽器裡輸入 http://127.0.0.1:3000可以檢視伺服器是否啟動   第二步:在控制台裡輸入 ruby script\generate controller word指令然後回車,會在leaveword\app\controllers這個目錄下生成一個word_controller.rb檔案 word_controller.rb自動生成的代碼如下

第2天 一個rails小例子

class  WordController  <  ApplicationController

第2天 一個rails小例子

end 第三步:在控制台裡輸入 ruby script\generate model word指令然後回車,會在leaveword\app\ models這個目錄下生成一個word.rb檔案         word.rb自動生成的代碼如下  

第2天 一個rails小例子

class  Word  <  ActiveRecord::Base

第2天 一個rails小例子

end

第2天 一個rails小例子

第四步:在mysql資料庫中建立一個名字為leaveword的資料庫,然後建立books表,字段包括               id    int(10)                name    varchar 100 leaveword    text leavedate  date 在InstantRails上點選右上角“I”然後點Configure,選擇datebase(via phpmyadmin)就會打開InstantRails自帶的mysql管理工具,可以用它建立資料庫。 第五步:修改leaveword\config檔案夾下面的database.yml檔案,将資料庫名字改為leaveword。 修改後的database.yml檔案如下

第2天 一個rails小例子

# On Windows:

第2天 一個rails小例子

#   gem install mysql

第2天 一個rails小例子

#       Choose the win32 build.

第2天 一個rails小例子

#       Install MySQL and put its /bin directory on your path.

第2天 一個rails小例子

#

第2天 一個rails小例子

# And be sure to use new-style password hashing:

第2天 一個rails小例子

#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html

第2天 一個rails小例子

development:

第2天 一個rails小例子

  adapter: mysql

第2天 一個rails小例子

  database: leaveword

第2天 一個rails小例子

  username: root

第2天 一個rails小例子

  password:

第2天 一個rails小例子

  host: localhost

第2天 一個rails小例子
第2天 一個rails小例子

# Warning: The database defined as 'test' will be erased and

第2天 一個rails小例子

# re-generated from your development database when you run 'rake'.

第2天 一個rails小例子

# Do not set this db to the same as development or production.

第2天 一個rails小例子

test:

第2天 一個rails小例子

  adapter: mysql

第2天 一個rails小例子

  database: leaveword

第2天 一個rails小例子

  username: root

第2天 一個rails小例子

  password:

第2天 一個rails小例子

  host: localhost

第2天 一個rails小例子
第2天 一個rails小例子

production:

第2天 一個rails小例子

  adapter: mysql

第2天 一個rails小例子

  database: leaveword

第2天 一個rails小例子

  username: root

第2天 一個rails小例子

  password: 

第2天 一個rails小例子

  host: localhost 第六步:打開leaveword\app\controllers目錄下的word_controller.rb檔案,添加如下代碼:scaffold :word。 添加後的word_controller.rb代碼如下

第2天 一個rails小例子

class  WordController  <  ApplicationController

第2天 一個rails小例子

      scaffold :word

第2天 一個rails小例子

end 第七步:上面工作都完成後打開 http://127.0.0.1:3000/word/new就會看到增删改查已經全部建立好了。 真正手寫的代碼就是scaffold :word這一行,scaffold :word生成了資料庫對應的crud操作,并且同時生成了對應的視圖模闆。   <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" o:preferrelative="t"> <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" o:preferrelative="t">          在NetBeans的網站上可以下載下傳到NetBeans的rails開發版本,隻有19兆大小,是以我又選擇了NetBeans IDE6.0重寫leaveword工程,感覺友善了很多,但是開發環境速度有點慢。 <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 516.75pt; HEIGHT: 292.5pt"><v:imagedata src="file:///C:\DOCUME~1\fish\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title="Snap1"></v:imagedata></v:shape><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 516.75pt; HEIGHT: 292.5pt"><v:imagedata src="file:///C:\DOCUME~1\fish\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title="Snap1"></v:imagedata></v:shape>