Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Rails 3.0.5的Rspec中的未初始化常量错误_Ruby On Rails_Rspec_Rspec Rails - Fatal编程技术网

Ruby on rails 使用Rails 3.0.5的Rspec中的未初始化常量错误

Ruby on rails 使用Rails 3.0.5的Rspec中的未初始化常量错误,ruby-on-rails,rspec,rspec-rails,Ruby On Rails,Rspec,Rspec Rails,我正在尝试为Rails上的页面的简单控制器设置Rspec测试,但出现以下错误: /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/backward_compatibility.rb:20:in `const_missing': uninitialized constant Object::PagesController (NameError) from /var/lib/gems/1.9.1/gems/rspec-expectat

我正在尝试为Rails上的页面的简单控制器设置Rspec测试,但出现以下错误:

 /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/backward_compatibility.rb:20:in `const_missing': uninitialized constant Object::PagesController (NameError)
from /var/lib/gems/1.9.1/gems/rspec-expectations-2.0.1/lib/rspec/expectations/backward_compatibility.rb:6:in `const_missing'
from /media/sf_ruby/tapa-g/spec/controllers/pages_controller_spec.rb:3:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/configuration.rb:306:in `load'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/configuration.rb:306:in `block in load_spec_files'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/configuration.rb:306:in `map'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/configuration.rb:306:in `load_spec_files'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/command_line.rb:18:in `run'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/runner.rb:55:in `run_in_process'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/runner.rb:46:in `run'
from /var/lib/gems/1.9.1/gems/rspec-core-2.0.1/lib/rspec/core/runner.rb:10:in `block in autorun'
我在spec/controllers/pages\u controller\u sprec.rb文件中进行了以下测试:

require 'spec_helper'

describe PagesController do
    render_views

  describe "GET 'home'" do
      it "should be successful" do
         get 'home'
         response.should be_success
      end
  end
end
app/controllers/pages_controller.rb文件中的我的控制器如下所示:

class PagesController < ApplicationController
skip_authorization_check 

  def home
    @title = "Home"
  end 


end
我在使用ruby 1.9.2的Rails 3.0.5下工作

我一点也不知道该看什么。我已经卸载了
rspec
rspec-rails
gems并重新安装了它们,但没有多大成功。我既没有安装
autotest
也没有安装
Spork
来运行测试

有人有主意吗


非常感谢

好吧,根据对类似情况的各种评论,我只需使用
apt get uninstall rspec
安装rspec,然后使用
gem install rspec rails
重新安装
rspec rails
。现在测试正在进行中

class PagesController < ApplicationController
skip_authorization_check 

  def home
    @title = "Home"
  end 


end
source 'http://rubygems.org'

gem 'rails', '3.0.5'
gem 'will_paginate', '3.0.pre2'
gem 'jquery-rails', '>= 1.0.12'
gem "paperclip", "2.4.5"
gem "rake", "0.8.7"
gem "devise"
gem "cancan"
gem 'aws-s3'
gem 'acts_as_tree'

group :development do
  gem 'rspec-rails', "2.0.1"
  gem 'annotate'
  gem 'faker', '0.3.1', :require => false
  gem 'populator', '1.0.0'
  gem 'ruby-debug19'
end

group :test do
  gem 'webrat', '0.7.1'
  gem "capybara"
  gem 'rspec', '2.0.1'
  gem 'factory_girl_rails', '1.0'
end