我继承了一个项目,其中ActiveRecord模型给了我奇怪的行为。到目前为止,这是唯一一种表现出这种方式的模型。
car = Car.first
car.respond_to?(:each) # true
我找不到each
中定义的Car
方法。
我在another post读到你可以找出谁注入了这个方法,所以我试了一下:
car.method(:each) # raises "undefined method `each' for class `Car'
我想将Car
与draper一起使用,但由于我的实例行为类似于Enumerable,因此draper将其视为此类。然而,德雷珀不是问题。
我该怎么做才能搞清楚?
答案 0 :(得分:0)
我的问题的评论帮助我找到了它!我使用Dmitry的二进制搜索来找出导致它的原因,并在模型中使用的gem中发现了问题。宝石Mark Reed覆盖respond_to
。所以经验教训是:如果responds_to
很时髦,也许它会在某处被覆盖。