Re: [問題] 多個Models內共享同樣的named_class問題
: → godfat:定義你自己的 common base, 做成abstract class(Rails term 12/08 22
: → ryudo:試過 會不甩~ 12/09 16
: → ryudo:可否分享範例.. 12/09 16
: 推 godfat:看了一下,抱歉,你說得是 XD 看來是 rails 限制。不過, 12/09 18
: → godfat:class_eval (module_eval) 不好嗎? 12/09 18
: → ryudo:感覺比較邪惡XD 12/09 20
: → ryudo:雖然現在已經eval了~XD 12/09 20
我同意你的說法 XD
但是在 rails 裡大概是沒什麼選擇,因為他 named_scope 本身也是
module_eval, 因此會迫使你一定要 call named_scope 來做 meta-programming.
rails 裡大量使用這種方式,往往會造成你只能遵守他的方式來走
我上面說成用 common base 來做的方式,是想到 datamapper 去了
因為我後來都用 datamapper 的方式在思索,一下子就沒想到 rails 不行。
DM 的 named_scope 其實就只是很普通的 class method,
因此一般的繼承就可以用了。他背後的作法是用 with_scope,
內部裡會記錄一個 query object, 把 condition 串起來,
因此不需要任何 module_eval
但當然也不是整個 DM 都完全沒用到 module_eval, 那不太可能 XD
適度就是了
--
Hear me exalted spirits. Hear me, be you gods or devils, ye who hold
dominion here:
I am a wizard without a home. I am a wonderer seeking refuge.
Sacrifice
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.160.129
→
12/10 15:12, , 1F
12/10 15:12, 1F
→
12/10 16:51, , 2F
12/10 16:51, 2F
→
12/10 18:06, , 3F
12/10 18:06, 3F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章