鉴于以下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