我們經常用rake db:migrate來做資料庫遷移
我們還可以使用rake -t來列出可得到的rake任務
讓我們在store這個rails程式中建立乙個自己的rake任務
我們建立store/lib/tasks/ryanb.rake:
ruby**
task :greet do
puts "hello world!"
end
task :ask do
puts "how are you?"
end
我們現在可以使用rake greet或rake ask來執行
對於相關聯的rake任務我們可以這樣做:
ruby**
task :greet do
puts "hello world!"
end
task :ask => :greet do
puts "how are you?"
end
ask任務依賴於greet任務,當我們執行rake ask時會先呼叫greet任務
需要rails環境的任務
ruby**
task :pick_winner => :environment do
user = user.find(:first, : order => 'rand()')
puts "winner #"
end
名字空間
ruby**
namespace :pick do
task:winner => :environment do
user = user.find(:first, : order => 'rand()')
puts "winner #"
end
end
提取公用方法:
ruby**
namespace :pick do
desc "pick a random user as the winner"
task :winner => :environment do
puts "winner: #"
end
desc "pick a random product as the prize"
task :prize => :environment do
puts "prize: #"
end
def "pick a random prize as the prize"
task :all => [:prize, :winner]
def pick(model_class)
model_class.find(:first, : order => 'rand()')
end
end
**:
rails自定義校驗
當內建的校驗 helpers 不能滿足專案需求時,可以根據具體需求來編寫自己的校驗器或者校驗方法。其中,當有比較通用的規則需要校驗時,優先考慮使用自定義校驗器.自定義校驗器 給需要校驗的單獨屬性新增自定義校驗器最便捷的方法是使用 activemodel eachcalidator。這種情況下,自定義...
詩歌rails 之gem命令
1.顯示gem的幫助和版本 gem h help 顯示gem的幫助 gem v version 顯示gem的版本號 2.列出遠端庫的所有可用軟體 gem query remote 短命令 gem q r 你可以看到乙個關於遠端主機上所有軟體的詳細列表。3.查詢遠端主機上的特定軟體 gem query...
Rails3用rescue from自定義錯誤頁面
很早之前我自定義錯誤頁面都是重寫showexceptions的rescue action in public和rescue action locally方法,但是這樣做侵入性太強,今天偶爾看到了乙個方法 rescue from的方法,使用方法如下 rescue from klasses,block ...