gpt4 book ai didi

ruby-on-rails - rails 3.2.1 : Calling undefined method in view causes test to hang for 30+ seconds

转载 作者:行者123 更新时间:2023-12-04 05:58:38 25 4
gpt4 key购买 nike

我正在将我的应用程序从 3.0.9 升级到 3.2.1(ruby 1.9.3-p0、rvm、bundler),但我无法追踪的一件事就是这个问题。我有一个 Controller 规范(在规范/ Controller 中),它为每个示例呈现 View 。它呈现的模板可以有任何未定义的方法(例如在 haml 中调用“- blahblah”)并且它会导致测试挂起超过 30 秒。这是错误:

undefined local variable or method `blahblahblah' for #<#<Class:0x007fa84f76cc90>:0x007fa849c578c8>

我运行了调试器,并在尝试记录错误本身时发生了挂起。这发生在 activesupport-3.2.1/lib/active_support/notifications/instrumenter.rb line 22 .那么这是 Rails 的错,haml 的错,还是其他一些库的错?

这是我的 Gemfile 以防万一我使用的东西可能是问题:
source 'http://rubygems.org'
source 'http://gems.github.com'
source 'http://gemcutter.org'

gem 'rails', '3.2.1'
gem 'rake', '~> 0.9.2.2'
gem 'mysql2', '~> 0.3.11'
gem 'htmldoc'
gem 'haml', '~> 3.1.4'
gem 'sass', '~> 3.1.4'
gem 'hpricot'
gem 'curb'
gem 'mini_magick'
gem 'liquid', '~> 2.3.0'
gem 'httparty', '~> 0.8.1'
gem 'linkedin', '0.1.7', :require => 'linkedin'
gem 'twitter', '~> 2.0.2', :require => 'twitter'
gem 'mime-types', '>=1.16', :require => 'mime/types'
gem 'oauth'
gem 'roxml'
gem 'nokogiri'
gem 'sax-machine'
gem 'googlecharts', '1.6.7', :require => 'gchart'
gem 'pdf-reader', '~> 0.9.0'
gem 'paper_trail'
gem 'rubyzip', '0.9.4', :require => 'zip/zip'
gem 'activemerchant', '~> 1.20.2', :require => 'active_merchant'
gem 'compass', '~> 0.11.5'
gem 'compass-rgbapng', '0.1.1', :require => 'rgbapng'
gem 'fancy-buttons', '~> 1.1.1'
gem 'ruby-openid'
gem 'RedCloth', '~> 4.2.9'
gem 'koala', '~> 1.0.0'
gem 'scoped_search', '~> 2.3.6'
gem 'wicked_pdf', '0.7.0'
gem 'devise', '~> 2.0.0'
gem 'paperclip', '~> 2.5.0'
gem 'aws-sdk' # required for paperclip
gem 'whois', '~> 2.0.4'
gem 'validates_timeliness', '~> 3.0.8'
gem 'will_paginate', '~> 3.0.2'
gem 'hoptoad_notifier', '~> 2.4.11'
gem 'savon', '~> 0.9.2'
gem 'escape_utils'
gem 'ajaxful_rating', '3.0.0.beta3'
gem 'acts_as_list', '~> 0.1.3'
gem 'despamilator', '~> 2.0'
gem 'prawn', '~> 0.12.0', :submodules => true
gem 'net-dns', '~> 0.6.1'
gem 'authlogic', '~> 3.1.0'
gem 'myspaceid-sdk', '~> 0.1.11', :require => 'myspace'
gem 'in_place_editing', '~> 1.1.2'
gem 'deadlock_retry', '~> 1.1.2'
gem 'query_trace', '~> 0.1.1'
gem 'aasm', '~> 3.0.2'
gem 'vanity', '~> 1.7.1'
gem 'prototype-rails', '~> 3.2.1'

group :development, :test do
gem 'rspec-rails', '~> 2.8.1'
gem 'rspec'

# one-liner to install these properly: bash < <(curl -L https://raw.github.com/gist/1333785)
gem 'linecache19', '0.5.13'
gem 'ruby-debug-base19', '0.11.26'

gem 'capistrano'
end

group :test do
gem 'factory_girl_rails'
gem 'syntax'
gem 'timecop', '~> 0.3.5'
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails', '~> 1.2.1'
gem 'cucumber'
gem 'launchy'
end

谢谢!

最佳答案

我在 Github 上的 Rails 问题跟踪器中找到了这个问题的答案(到目前为止,它仍然是一个开放的错误)。问题原来是在引发错误时,ActionDispatch::Routing::RouteSet 的一个实例被检查,这显然导致对象检查它所持有的每件物品。因此,RouteSet 越大,#inspect 的时间就越长。拿。这是修复:

module ActionDispatch
module Routing
class RouteSet
alias inspect to_s
end
end
end

有关该错误的更多信息, see here .

关于ruby-on-rails - rails 3.2.1 : Calling undefined method in view causes test to hang for 30+ seconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com