1

我继承了一个项目,其中 ActiveRecord 模型给了我奇怪的行为。到目前为止,这是唯一一个这样做的模型。

car = Car.first
car.respond_to?(:each) # true

我找不到任何each定义的方法。Car

我在另一篇文章中读到,您可以找出谁注入了该方法,所以我试了一下:

car.method(:each) # raises "undefined method `each' for class `Car'

我想Cardraper一起使用,但是因为我的实例的行为类似于 Enumerable,所以 draper 将其视为这样。然而,德雷珀不是问题。

我该怎么做才能弄清楚?

4

1 回答 1

0

对我的问题的评论帮助我找到了它!我使用 Dmitry 的二进制搜索来找出导致它的原因,并在模型使用的 gem 中发现了问题。宝石 Mark Reed 覆盖respond_to. 所以教训是:如果responds_to是时髦的,也许它在某个地方被覆盖了。

于 2012-12-19T05:20:13.903 回答