第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自動生成的代碼如下
class WordController < ApplicationController
end
第三步:在控制檯裏輸入 ruby script\generate model word命令然後回車,會在leaveword\app\ models這個目錄下生成一個word.rb文件
        word.rb自動生成的代碼如下
 
class Word < ActiveRecord::Base
end
第四步:在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文件如下
# On Windows:
#   gem install mysql
#       Choose the win32 build.
#       Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  database: leaveword
  username: root
  password:
  host: localhost

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: leaveword
  username: root
  password:
  host: localhost

production:
  adapter: mysql
  database: leaveword
  username: root
  password: 
  host: localhost
第六步:打開leaveword\app\controllers目錄下的word_controller.rb文件,添加如下代碼:scaffold :word。
添加後的word_controller.rb代碼如下
class WordController < ApplicationController
      scaffold :word
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="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"> <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@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>
發佈了9 篇原創文章 · 獲贊 1 · 訪問量 2757
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章