先來說說Rails 2.3中即將問世的Object#try吧
有時候我們不知道某個物件是否能夠回應某個呼叫,我們可以用object.respond_to?(method)來判斷傳回的是true還是false,因此我們可以藉由這個特性來達到我們要的目的:
f = Factory.first
puts f.category.try(:name)
hechian 發表在 痞客邦 留言(2) 人氣(289)

Okay.. 剛剛嘗試將number_to_tw_phone給寫成Rails Plugin..發生了一點小插曲,也許是電腦秀逗吧,反正現在是成功了
就讓我紀錄一下吧
開啟Console
產生一個Rails Project
在Rails Project Root Directory中輸入script/generate plugin taiwan_helpers
此時會產生一個Plugin的資料夾在RAILS_ROOT/vendor/plugins/中,叫做taiwan_helpers
裡面有很多資料夾,我們看init.rb、libs/*這些就好
hechian 發表在 痞客邦 留言(0) 人氣(210)
def number_to_tw_phone(phone, cellphone=false)
raise "Phone number error!" if phone.size < 9 || phone.size > 10 || (phone.size < 10 if cellphone)
no = phone.split("")
return %{#{no[0..3].join}-#{no[4..6]}-#{no[7..9]}} if cellphone
return %{(#{no[0..2].join})#{no[3..5]}-#{no[6..8].join}} if no[0..2].join == "089" # Tai-dong
return %{(#{no[0..1].join})#{no[2..4]}-#{no[5..8].join}} if phone.size == 9
return %{(#{no[0..1].join})#{no[2..5]}-#{no[6..9].join}} if phone.size == 10
end
puts number_to_tw_phone("0987654321", true) #=> 0987-654-321
puts number_to_tw_phone("0234567890") #=> (02)3456-7890
puts number_to_tw_phone("087654321") #=> (08)765-4321
puts number_to_tw_phone("089876543") #=> (089)876-543 #=> 這是台東的電話
hechian 發表在 痞客邦 留言(0) 人氣(141)
剛剛在解決一個小Bug
用瀏覽器瀏覽某個會丟301的網站時,在Ruby或Telnet都會丟500回來
什麼鬼.. 怎麼會這樣?
其實這是因為沒有User-Agent的關係啦
有些Web Server可能會Reject一些Header中沒有User-Agent的Request
hechian 發表在 痞客邦 留言(2) 人氣(4,209)
Rails 2.1推出了令人心癢癢的功能喔!讓我感覺到Rails更迷人更方便了>///<
不過我就先說兩個部份吧?
Find:
呵呵,find應該很多人都會用到吧?
這次做了點小更動呢!
假設我有一個Project Model...
hechian 發表在 痞客邦 留言(0) 人氣(4,078)
今天摸會了Git,就順便應用上了
error_messages_for大家都用過,也都知道這個不管再怎樣中文化,欄位名稱一樣都會出現給你看!
這真的是令人又愛(英語體系者愛)又恨(非英語體系者恨)的功能啊..
沒辦法,只好自己動手了...
我剛剛發了Git pull給Rails團隊,他們接受不接受我不知道,所以在這邊教大家如何自己搞定這一切
hechian 發表在 痞客邦 留言(0) 人氣(4,390)
想看看Rails 2.1有哪些特棒的功能嗎?
在Agile Web Development with Rails 3出來之前,難道只能夠慢慢的爬別人寫的articles嗎?
不用!在這邊提供一個免費且完整度高的Rails 2.1文件!
原文是葡萄牙文的,網址是:
http://www.nomedojogo.com/2008/06/06/o-primeiro-livro-sobre-rails-21-e-brasileiro/
hechian 發表在 痞客邦 留言(0) 人氣(4,344)
剛剛在更新Rubygems與Rails 2.0
Rubygems安裝好了,可是Rails 2.0裝不起來
錯誤訊息(只貼關鍵)
Rails 2.0 SSL is not installed on this system
OK... 該怎辦呢?
hechian 發表在 痞客邦 留言(0) 人氣(275)
太久沒有寫文章了.. 最近接到一個案子.. 剛好讓我重溫Select的使用方法..
嗯.. 結果卡在multiple,不知道是我太想睡還是怎樣.. 居然傻了..
跑去#rubyonrails問,一位名為carpet_the_walls的網友給了我他寫的文章,網址是:
http://shiningthrough.co.uk/Select+helper+methods+in+Ruby+on+Rails
在此先謝謝carpet_the_walls (Thank you, carpet_the_walls)
hechian 發表在 痞客邦 留言(0) 人氣(3,220)
請在model內加入:
def self.find_by_randomize
ids = self.find(:all, :select => [id])
self.find(ids[rand(ids.size)]["id"].to_i)
end
hechian 發表在 痞客邦 留言(0) 人氣(504)