Re: [問題] after_initialize and after_find
※ 引述《tonytonyjan (南洋大兜蟲)》之銘言:
: 環境:
: Ruby 1.9.2 Rails 3
: 狀況:
: 我在閱讀Rails Guide時,發現 after_initialize 和 after_find
: 沒有相對的 before_initialize 及 before_find
: 並說要使用時必須以 method define,不能用 handler
: 摘錄:
: If you try to register after_initialize or after_find using macro-style class
: methods, they will just be ignored.
: This behaviour is due to performance reasons, since after_initialize and
: after_find will both be called for each record found in the database,
: significantly slowing down the queries.
: 我覺得這樣的解釋我還是看不太懂
: 1. 這和 self reflection 有關係嗎?
這邊 self reflection 是指?
: 2. 一個 select query 可能包涵數萬筆資料,不管是用 method define 還是 handler
: ,都要被呼叫數萬次吧?如此效能還不是一樣差嗎?
我也覺得沒差..... 應該一樣,不然就是他寫得有問題?
: 3. 對一個 callback 同時使用 method define 和 handler 會導致 handler 被蓋掉嗎?
實驗看看?
: 4. 我想看原始碼,但是在github裡面有如大海撈針,希望得到眾神的指引
你可以直接看電腦裡裝好的 source, 然後用搜尋的
抱歉現在沒有空,所以就先不查也不實驗了..
--
In Lisp, you don't just write your program down toward the language,
you also build the language up toward your program.
《Programming Bottom-Up》- Paul Graham 1993
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.160.129
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章