我对Ruby很新,但我遇到的问题是我无法深入了解问题 .

我的简单应用程序工作正常,然后,在将Rails版本升级到3.2.8后,我在尝试查询数据库以查找记录时遇到了问题 . 这在使用Rails 3.0.7时工作正常,但在升级到rails 3.2.8后,它开始失败并出现Stack Level太深的错误 .

我的模型看起来像这样:

class Resource < ActiveRecord::Base 
  validates :title, :presence => true, 
                    :length => { :minimum => 5} 
  validates :link,  :presence => true 
  validates :date_submitted,  :presence => true 

  has_many :comments 

  validates_format_of :link, :with => URI::regexp(%w(http https)) 
  validates :link, :uniqueness => {:scope => :link, :message => "This item has already been submitted"} 
end

当我从控制台调用Resource.all时,失败并出现以下错误:

SystemStackError:堆栈级别太深了/home/tom/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/workspace.rb:80也许IRB错误!

它似乎也发生在其他型号上,并且在升级之前这种工作正常的事实似乎表明它是另一回事 . 有没有人对我应该在哪里有任何想法 - 错误信息非常有限 .

更新:在进行更多挖掘之后,这似乎在更改为Rails 3.2.1时开始破坏 . Rails 3.2.0及更少 - 我的应用程序工作正常 - 3.2.1或更高版本导致堆栈级别太深的问题 .

更新2:发现问题 . 我正在使用导致问题的SearchLogic gem . 从GemFile中删除它解决了我的问题 .