鑑於以下ActiveRecord的模型:只列出的ActiveRecord子類的方法
class User < ActiveRecord::Base
has_many :games
def name
"Joe"
end
def city
"Chicago"
end
end
我想找回我直接添加到用戶類中的方法列表(而不是那些通過擴展ActiveRecord的添加和/或添加關聯)。示例輸出:
["name","city"]
調用User.instance_methods(假)返回方法,通過添加的ActiveRecord:
["validate_associated_records_for_games", "games", "game_ids", "games=", "game_ids=", "after_create_or_update_associated_records_for_games", "before_save_associated_records_for_games"]
隨着任何模型從數據庫列屬性。我想排除這些,只獲取子類上的自定義方法。
我的目的是方法跟蹤:我想跟蹤我的自定義方法,同時排除由ActiveRecord添加的方法。
任何想法?
什麼版本的軌道您使用的作品? – 2012-02-26 21:50:55
我正在測試w/Rails 2.2.2,但我願意接受更新版本的解決方案。 – 2012-02-26 22:21:59
在rails 3.2中,屬性訪問器,關聯訪問器和可能的驗證內容是在你的模型中包含的方法中定義的,這使得你試圖做的更容易 – 2012-02-27 07:28:45