Depot應用程式整理之基礎整理

2021-08-31 05:37:33 字數 1480 閱讀 4019

初學ror,參照agile web development with rails寫了乙個depot  demo,

現在靜下心來整理下

rails2.0.2以後系統預設資料庫為sqlite3,想要定義你自己順手的資料庫,使用以下命令

>rails depot --database=sql 即可

p:rails需要2.5以上的mysql版本

>ruby script/generate product title:string

自動生成products的controller、model、views 以及products表

通過rake db:migrate

或者rake db:migrate version=0遷移資料即可(0為資料遷移版本號)

新增表中缺失字段

>ruby script/generate migration add_price_to_product price:decimal

在生成的db/migrate/20110217000002_add_price_to_price.rb檔案中

可以根據個人需要對欄位進行設定範圍之類

如:def self.up

add_column :products, :price, :decimal, :precision=>8,  :scale=>2,  :default=>0

end當然最後還記得遷移資料庫rake,相應的views中也要記得加上price對應的顯示

新增驗證

驗證**一般放在model內,如product.rb

以下一些簡單的驗證

validates_presence_of  檢查置頂字段是否存在、並且值不為空

validates_numericality_of   檢查字段是否是合法的數值

validates_uniqueness_of    檢查字段是否唯一

validates_length_of    檢查長度

validates_format_of    檢查格式

當然你也可以自己編寫乙個方法,然後以validate  :function  方式呼叫

如:validate  :price_must_be_at_least_a_cent

protected

def price_must_be_at_least_a_cent

errors.add(:price,' 不得低於0.01元') if price.nil? || price<0.01

end//檢查格式

validates_format_of :image_url,

:with=>%ri,

:message=>'鏈結必須為gif,jpg or png等格式的.'

scaffold自動生成乙個scaffold.css檔案,並且自動呼叫

<%= stylesheet_link_tag 'scaffold'%>

你也可以自己重新新增,只需將檔名存放在'scaffold'之後,並以「,」隔開

Web應用程式基礎

一般的web應用程式,是由客戶端 client 與伺服器 server 兩個部分組成的的。客戶端可以是移動端 桌面應用程式 瀏覽器 browser 服務端則是http伺服器,客戶端會請求伺服器上放置的檔案或者資源。對於瀏覽器 browser 來說,請求的伺服器資源就是html檔案。什麼是 html?...

Linux 應用程式程式設計基礎

乙個計算機應用程式在記憶體中可以分成兩個部分 存放 的 段和存放資料的資料段。段存放使用者編寫的 資料段存放棧和堆。相關記憶體管理函式 include void malloc size t size 申請size大小的空間 void free void ptr 釋放ptr指向的空間 void cal...

Zephyr 教程 應用程式基礎

通過建立包含下列檔案的目錄定義 zephyr 應用程式 核心配置檔案 應用程式通常提供乙個配置檔案 conf 以指定乙個或多個核心配置選項。如果沒有提供配置檔案,將使用應用程式存在的配置選項。如果應用程式也沒有提供配置選項,將使用核心預設的選項。微核心應用程式通常還提供乙個額外的字尾為.mdef的配...