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

hechian 發表在 痞客邦 留言(2) 人氣()


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) 人氣()

  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) 人氣()

剛剛在解決一個小Bug
用瀏覽器瀏覽某個會丟301的網站時,在Ruby或Telnet都會丟500回來
什麼鬼.. 怎麼會這樣?
其實這是因為沒有User-Agent的關係啦
有些Web Server可能會Reject一些Header中沒有User-Agent的Request

hechian 發表在 痞客邦 留言(2) 人氣()

Rails 2.1推出了令人心癢癢的功能喔!讓我感覺到Rails更迷人更方便了>///<
不過我就先說兩個部份吧?
Find:
呵呵,find應該很多人都會用到吧?
這次做了點小更動呢!
假設我有一個Project Model...

hechian 發表在 痞客邦 留言(0) 人氣()

今天摸會了Git,就順便應用上了
error_messages_for大家都用過,也都知道這個不管再怎樣中文化,欄位名稱一樣都會出現給你看!
這真的是令人又愛(英語體系者愛)又恨(非英語體系者恨)的功能啊..
沒辦法,只好自己動手了...
我剛剛發了Git pull給Rails團隊,他們接受不接受我不知道,所以在這邊教大家如何自己搞定這一切

hechian 發表在 痞客邦 留言(0) 人氣()

想看看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) 人氣()

剛剛在更新Rubygems與Rails 2.0
Rubygems安裝好了,可是Rails 2.0裝不起來
錯誤訊息(只貼關鍵)
Rails 2.0 SSL is not installed on this system
OK... 該怎辦呢?

hechian 發表在 痞客邦 留言(0) 人氣()

太久沒有寫文章了.. 最近接到一個案子.. 剛好讓我重溫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) 人氣()

請在model內加入:
def self.find_by_randomize
  ids = self.find(:all, :select => [id])
  self.find(ids[rand(ids.size)]["id"].to_i)
end

hechian 發表在 痞客邦 留言(0) 人氣()

  • Mar 26 Mon 2007 23:43
  • HAML

最近開始接觸HAML
在Rails中,預設使用ERb來當作模板描述語言,可是這樣寫個人認為非常醜也非常累...
而之前看到HAML時感覺到那東西似乎沒有太大的可用性,難道要Designer也學Ruby嗎?
不過後來我想通了..
架構這部分可以給Coder作,Designer乖乖設計CSS就夠了..

hechian 發表在 痞客邦 留言(0) 人氣()

用過Flickr嗎?
如果你有Flickr相簿,應該對於修改照片標題、說明的方式記憶猶新吧?
那種就叫做 In Place Editing
在Rails中,要實做這種技術並不難,因為本身就內建這個功能
不過到了Rails 2.0將會把這個從內建移除變成Plugins形勢存在

hechian 發表在 痞客邦 留言(0) 人氣()

1 2
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。