閑云無衣
          無衣的筆記
          一、命令方式創(chuàng)建支架
          如果要創(chuàng)建一個控制器為companyuser、模型為CompanyUser的支架。只需要鍵入ruby script/generate scaffold CompanyUser companyuser
          系統(tǒng)提示如下:
          exists? app/controllers/
          ????? exists? app/helpers/
          ????? create? app/views/companyuser
          ????? exists? app/views/layouts/
          ????? exists? test/functional/
          ? dependency? model
          ????? exists??? app/models/
          ????? exists??? test/unit/
          ????? exists??? test/fixtures/
          ????? create??? app/models/company_user.rb? #模型文件
          ????? create??? test/unit/company_user_test.rb? #單元測試文件
          ????? create??? test/fixtures/company_users.yml? #測試夾具
          ????? create? app/views/companyuser/_form.rhtml? #局部模板(與new和show相關(guān))
          ????? create? app/views/companyuser/list.rhtml? #數(shù)據(jù)庫內(nèi)容列表頁面
          ????? create? app/views/companyuser/show.rhtml? #顯示某一數(shù)據(jù)庫行的詳細(xì)信息頁面
          ????? create? app/views/companyuser/new.rhtml? #新增一條數(shù)據(jù)庫行頁面
          ????? create? app/views/companyuser/edit.rhtml? #刪改某一數(shù)據(jù)庫行的詳細(xì)信息頁面
          ????? create? app/controllers/companyuser_controller.rb? #控制器文件
          ????? create? test/functional/companyuser_controller_test.rb? #控制器文件(測試)
          ????? create? app/helpers/companyuser_helper.rb? #輔助方法方法
          ????? create? app/views/layouts/companyuser.rhtml? #布局模板
          ????? create? public/stylesheets/scaffold.css? #樣式表文件
          這樣一個MVC框架Web程序就基本形成了。
          其中:
          控制器文件為app/controllers/companyuser_controllers.rb
          模型文件為app/models/company_user.rb
          數(shù)據(jù)庫表 company_users
          URL http://localhost:3000/companyuser/list

          筆者發(fā)現(xiàn)rails對腳本命令對模型和控制器名稱的首字母大小寫不敏感。如:ruby script/generate scaffold CompanyUser companyuser和ruby script/generate scaffold companyUser Companyuser是一樣的。但對名稱里的非首字母大小寫敏感。若非首字母大寫對于控制器,對于控制器文件名為從大寫字母分開用下劃線相連的字符串,如:若控制器名稱為companyuser,控制器文件為companyuser_controllers.rb,類名為Companyuser, URL為 http://localhost:3000/companyuser/list;若控制器名稱為companyUser,控制器文件為companyuser_controllers.rb,類名為Companyuser, URL為 http://localhost:3000/companyuser/list;若控制器名稱為companyUser,控制器文件為company_user_controllers.rb,類名為CompanyUser, URL為 http://localhost:3000/company_user/list;可見在rails中一般形如:http://localhost:3000/controller/action/的URL請求中的controller不是類名而是文件名。

          總結(jié)一下:

          rails命名規(guī)定:
          變量名應(yīng)該全部小寫,單詞之間以下畫線分隔;類和模塊的名稱中沒有下劃線,短語中每個單詞的首字母(包括類和模塊名稱的首字母)大寫;數(shù)據(jù)庫表名像變量名一樣,全部采用小寫字母,單詞之間以下畫線分隔,并且表名始終是復(fù)數(shù)形式的;文件名全部采用小寫字母,單詞之間以下畫線分隔;數(shù)據(jù)庫表間關(guān)聯(lián)的外鍵字段的名字應(yīng)以被引用的目標(biāo)表名為基礎(chǔ),將其轉(zhuǎn)換為單數(shù)形式,并加上_id后綴;連接表名應(yīng)以需要連接的兩張表名稱(按照字母順序區(qū)分先后)用下畫線連接。

          模型名
          CompanyUser

          數(shù)據(jù)庫表

          ?company_users

          ?CompanyUser

          文件

          ?app/models/company_user.rb

          控制器名
          companyUser

          URL

          ?http://localhost:3000/company_user/list

          ?Companyuser

          文件

          app/controllers/company_user_controllers.rb

          方法(action名)

          ?list()

          布局模板

          ?app/views/layouts/companyuser.rhtml

          View

          URL

          ?http://localhost:3000/company_user/list

          文件

          ?app/views/companyuser/list.rhtml

          輔助模塊

          ?module CompanyUserHelper

          輔助模塊文件

          app/helpers/company_user_helper.rb

          二、使用scaffold方法
          1.ruby script/generate model CompanyUser生成CompanyUser模型
          2.ruby script/generate controller Companyuser 生成Companyuser控制器
          3.在app/controllers/companyuser_controllers.rb文件中CompanyUserController類中加入scaffold方法:
          class CompanyUserController < ApplicationController
          ??? scaffold :CompanyUser

          end

          scaffold :CompanyUser語句與
          scaffold :companyUser和scaffold :company_user等效的
          posted on 2007-02-17 17:00 無衣 閱讀(1057) 評論(0)  編輯  收藏 所屬分類: rails
           
          主站蜘蛛池模板: 嵊泗县| 崇礼县| 盐源县| 隆化县| 大同县| 新泰市| 霍州市| 日照市| 隆昌县| 隆安县| 武城县| 佛山市| 莱芜市| 石狮市| 灌南县| 南开区| 板桥市| 张掖市| 海淀区| 昌宁县| 金溪县| 双辽市| 加查县| 南充市| 海门市| 荔波县| 九江市| 赣榆县| 离岛区| 宁陵县| 灵石县| 岳阳县| 阿瓦提县| 钦州市| 锦州市| 镇远县| 定西市| 抚顺县| 大石桥市| 马鞍山市| 会昌县|