2015-05-28 99 views
0

我目前正試圖自己教導如何使用帶rails的rspec測試。我是從這裏的博客下面的指南, http://everydayrails.com/2012/03/12/testing-series-rspec-setup.html ,來到這裏我無法運行該命令 點「軌摹rspec的:安裝」安裝RSpec的問題

我拉閘得到的問題一大堆被

/Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing': undefined method `devise' for Install (call 'Install.connection' to establish a connection):Class (NoMethodError) from /Users/kdweber89/Desktop/railspractice/firstApp/myApp/app/models/install.rb:4:in `<class:Install>' 
from /Users/kdweber89/Desktop/railspractice/firstApp/myApp/app/models/install.rb:1:in `<top (required)>' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:457:in `load' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:457:in `block in load_file' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:647:in `new_constants_in' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:456:in `load_file' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:354:in `require_or_load' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:494:in `load_missing_constant' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:184:in `const_missing' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/inflector/methods.rb:261:in `const_get' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/inflector/methods.rb:261:in `block in constantize' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/inflector/methods.rb:259:in `each' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/inflector/methods.rb:259:in `inject' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/inflector/methods.rb:259:in `constantize' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:566:in `get' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:597:in `constantize' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise.rb:301:in `get' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/mapping.rb:80:in `to' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/mapping.rb:75:in `modules' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/mapping.rb:92:in `routes' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/mapping.rb:159:in `default_used_route' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/mapping.rb:69:in `initialize' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise.rb:335:in `new' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise.rb:335:in `add_mapping' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/rails/routes.rb:224:in `block in devise_for' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/rails/routes.rb:223:in `each' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/devise-3.3.0/lib/devise/rails/routes.rb:223:in `devise_for' 
from /Users/kdweber89/Desktop/railspractice/firstApp/myApp/config/routes.rb:2:in `block in <top (required)>' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:432:in `instance_exec' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:432:in `eval_block' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.1/lib/action_dispatch/routing/route_set.rb:410:in `draw' 
from /Users/kdweber89/Desktop/railspractice/firstApp/myApp/config/routes.rb:1:in `<top (required)>' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:40:in `block in load_paths' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:40:in `each' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:40:in `load_paths' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:16:in `reload!' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:26:in `block in updater' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/file_update_checker.rb:75:in `call' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/file_update_checker.rb:75:in `execute' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:27:in `updater' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `instance_exec' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `run' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/initializable.rb:55:in `block in run_initializers' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `each' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `call' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/initializable.rb:54:in `run_initializers' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/railties-4.2.1/lib/rails/application.rb:352:in `initialize!' 
from /Users/kdweber89/Desktop/railspractice/firstApp/myApp/config/environment.rb:5:in `<top (required)>' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/spring-1.3.6/lib/spring/application.rb:92:in `preload' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/spring-1.3.6/lib/spring/application.rb:143:in `serve' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/spring-1.3.6/lib/spring/application.rb:131:in `block in run' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/spring-1.3.6/lib/spring/application.rb:125:in `loop' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/spring-1.3.6/lib/spring/application.rb:125:in `run' 
from /Users/kdweber89/.rvm/gems/ruby-2.1.5/gems/spring-1.3.6/lib/spring/application/boot.rb:18:in `<top (required)>' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
from /Users/kdweber89/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
from -e:1:in `<main>' 

我的模型/ install.rb頁面

class Install < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 
end 

我的Gemfile頁面在這裏。

source 'https://rubygems.org' 
gem 'rails', '4.2.1' 
gem 'haml', '~> 4.0.5' 
gem 'bootstrap-sass', '~> 3.2.0.2' 
gem "spring-commands-rspec" 
gem 'simple_form', '~> 3.0.2' 
gem 'sqlite3' 
gem 'sass-rails', '~> 5.0' 
gem 'devise' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 
group :development, :test do 
    gem 'byebug' 
    gem 'web-console', '~> 2.0' 
    gem 'spring', group: :development 
end 

group :development, :test do 
    gem 'rspec-rails' 
    gem 'factory_girl_rails' 
end 

group :test do 
    gem 'faker' 
    gem 'capybara' 
    gem 'guard-rspec' 
    gem 'launchy' 
end 

我的任何簡單的路線是

Rails.application.routes.draw do 
    devise_for :installs 
    resources :pins 
    root "pins#index" 
end 

這裏是我的application.rb中的文件

require File.expand_path('../boot', __FILE__) 
require 'rails/all' 
Bundler.require(*Rails.groups) 
module MyApp 
    class Application < Rails::Application 
    config.active_record.raise_in_transactional_callbacks = true 
    end 
end 

我真的不知道還有什麼是需要證明的,但我真的很感激如果有人會爲我快速查看它。

+0

您沒有列出的色器件寶石來安裝它。 – DVG

+0

你的用戶模型是否包含相應的'devise'配置? – zetetic

+0

嗨@zetetic,我開始認爲這可能是問題的根源。你知道我可以檢查嗎? – kdweber89

回答

0

確認,該組之外,你有

gem "devise" 

的devise_for路線助手是由色器件寶石提供。

而且不要忘了運行bundle install項目

+0

因此,在我的寶石中,我添加了「寶石'設計'」,然後運行軟件包安裝。之後嘗試再次運行該命令「鐵軌生成rspec:安裝」並最終得到另一個錯誤。可能相關,「ynamic_matchers.rb:26:在'method_missing':未定義的方法'devise'的安裝」 我也嘗試了一個「寶石安裝設計」的頂部,並再次得到同樣的問題。你會碰巧知道該怎麼辦? – kdweber89

+0

你能用堆棧跟蹤來更新你的問題嗎? – DVG

+0

另外,我對你的上下文感到困惑,聽起來你已經在你的代碼庫中設計了一些東西,但它不在你的gem文件中,那些東西是如何到達的呢?你的模型名稱似乎也不會與jive你的教程 – DVG