2013-11-27 7 views
-2

У меня есть модель под названием User и другую модель Stb, когда я проверяю в Stb модели, и я должен создать User экземпляр. Когда я запускаю тестовый файл spec/models/stb_spec.rb независимый, все тесты прошли. Пока я бегу все испытания вместе, как:Rspec «неопределенный метод` []»для ноля: NilClass» в Rails 3.2.8

bundle exec rake db:test:prepare && bundle exec rspec spec/ 

встречающийся что-то плохое:

Failure/Error: user.save 
    NoMethodError: 
     undefined method `[]' for nil:NilClass 

Мой User Модель является:

class User < ActiveRecord::Base 
    acts_as_authentic { |c| } 
    acts_as_paranoid 
    attr_accessible :name, :login, :password, :password_confirmation, :registed_by 

    has_many :user_stbs, :dependent => :nullify 
    has_many :stbs, :through => :user_stbs 
    has_many :feedbacks 

    def has_record(program_asset_id) 
     UserAsset.where(:uap_open_id => self.uap_open_id, 
         :asset_id => program_asset_id).first 
    end 

    ...... 
end 

и спецификации/модели/stb_spec.rb:

describe Stb do 
    before :all do 
     @stb = FactoryGirl.create(:stb) 
     user = User.new(:name => "Name", :login => "ccttsdf343", 
         :password => "111111", :password_confirmation => "111111") 
     user.save 
    end 
end 

и мой Gemfile является:

# source 'https://rubygems.org' 
source 'http://ruby.taobao.org/' 

gem 'rails', '3.2.8' 

gem 'mysql2' 
gem 'authlogic' 
gem 'redis', '~> 3.0.1' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
    gem 'compass-rails' 
end 

gem 'jquery-rails', '~> 2.1.4' 

group :test do 
    gem 'rspec-rails', '~> 2.10.0' 
    gem 'pry' 
    gem 'pry-remote' 
    gem 'pry-stack_explorer' 
    gem 'pry-debugger' 
    gem 'factory_girl_rails' 
    gem 'db_fixtures_dump' 
    gem 'simplecov', '~> 0.8.1' 
    gem 'syntax', '~> 1.0.0' 
end 

group :development do 
    gem 'debugger' 
    gem 'factory_girl_rails' 
    gem 'rspec-rails', '~> 2.10.0' 
    gem 'sqlite3' 
    gem 'annotate', :git => 'git://github.com/jeremyolliver/annotate_models.git', :branch => 'rake_compatibility' 
    gem 'turn', :require => false 
    gem 'factory_girl_rails' 
    gem 'rspec-rails', '~> 2.10.0' 
end 
gem 'capistrano' 
gem 'rvm-capistrano' 

gem "acts_as_paranoid", "~>0.4.0" # for Rails 3.2 
gem 'paperclip' 
gem 'eventmachine' 
gem 'json' 
gem 'uuid' 
gem 'whenever', :require => false 
gem 'kaminari' # paginator 

gem 'dalli' 
gem 'redis', '~> 3.0.1' 
gem 'hiredis' 
gem "x_runtime", :git => "https://github.com/charlescui/x_runtime.git" 
gem "em-apn" 
gem "em-http-request" 
gem "async_sinatra" 
gem "mongoid" 
gem "mongoid-paperclip", :require => "mongoid_paperclip" 
gem "bson_ext" 
gem 'rack_logger' 
gem 'rack-fiber_pool', :git => "git://github.com/alebsack/rack-fiber_pool.git" 
gem 'sad', '>=1.5.18' 
gem 'blather' 
gem 'rest-client' 
gem 'digest-crc' 
gem 'virtus' 
gem 'rainbows' 

ответ

0

Попробуйте изменить раньше: все раньше: каждый

Смежные вопросы