DataMapper 地雷
class Pet
include DataMapper::Resource
property :id, Serial
property :model, String
end
Pet.first # stack level too DEEP!
因為原本的 Pet#model 是不能被改寫的,現在變成 property 就爆炸。
解決辦法:
property :_model, String, :field => 'model'
.......有點笨!
還是搞半天才想到是這問題!之前曾經用到 object_id, 當然也是死...
不過因為這本來就是 ruby 的 method, 看一下就知道原因了。
這 model 可就不是了... 這可不是改寫 :send 可以比擬的,
:send 本來就不應該被改寫,這是基本常識...
2 retries:
沒想到碰到地雷的機率還真高 @@
好市多魔 :s
Post a Comment
Note: Only a member of this blog may post a comment.