我有兩個型號,列出對象respond_to的所有方法?
User
Membership
兩個有一個下列關係的其他
user has_many :memberships
我一直在試圖找出其中的生成方法所在,以及如何獲得它在實例的方法列表中。這裏是調試器的輸出顯示我的delima
(rdb:63) @user.memberships.respond_to?"build"
true
雖然以下是返回false,不應該它返回true?
(rdb:63) @user.memberships.instance_methods.include?"build"
false
您將無法在列表中看到「構建」,它可能是使用'method_missing' – 2011-04-13 16:32:54
生成的。是否有無法檢查此method_missing實現?我想找到這個工作的根源 – 2011-04-14 05:45:45
是的,嘗試運行這個: User.new.memberships.method_missing(:build) 你應該看到異常,說被調用的保護方法'build'那麼你可以嘗試遵循它。但是這需要一些時間 – 2011-04-14 06:08:07