Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.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控制器中启用Desive helper方法?_Ruby On Rails_Devise - Fatal编程技术网

Ruby on rails 如何在rails控制器中启用Desive helper方法?

Ruby on rails 如何在rails控制器中启用Desive helper方法?,ruby-on-rails,devise,Ruby On Rails,Devise,我看过关于这个主题的其他帖子,我知道需要通过将design-helper方法添加到test\u-helper或spec\u-helper文件来启用design-helper方法,但这似乎不起作用 我还应该看什么来解决这个问题 我的rspec erro Failures: 1) LunchersController GET root renders index view for non-logged in users Failure/Error: get :index, {}

我看过关于这个主题的其他帖子,我知道需要通过将design-helper方法添加到test\u-helper或spec\u-helper文件来启用design-helper方法,但这似乎不起作用

我还应该看什么来解决这个问题

我的rspec erro

Failures:

  1) LunchersController GET root renders index view for non-logged in users
     Failure/Error: get :index, {}
     NoMethodError:
       Could not render layout: undefined method `authenticate' for nil:NilClass
     # ./spec/controllers/lunchers_controller_spec.rb:6:in `block (3 levels) in <top (required)>'
我没有测试/但我已经创建了一个,并添加了一个测试帮助器,以查看是否包含以下帮助,但它没有

class ActionController::TestCase
  include Devise::TestHelpers
end
我的档案

source 'https://rubygems.org'
ruby "2.1.0"

gem 'rails', '4.0.1'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'jbuilder', '~> 1.2'
gem "haml", "~> 4.0.4"
gem "angularjs-rails", "~> 1.2.7"
gem "zeus", "~> 0.13.3"
gem "pg", "~> 0.17.1"
gem "devise"
gem "omniauth"
gem "omniauth-twitter"
gem "uuidtools"
gem "quiet_assets", "~> 1.0.2"
gem "thin", "~> 1.6.1"
gem "jader", "~> 0.0.8"
gem "ngmin-rails", "~> 0.4.0"
gem 'foundation-rails'
gem "font-awesome-rails"
gem "twitter"

group :development, :test do
  gem "rspec-rails", "~> 2.14.1"
  gem 'factory_girl_rails', '4.2.1'
  gem "mocha", "~> 1.0.0"
  gem "database_cleaner", "~> 1.2.0"
  gem 'pry'
  gem 'pry-debugger'
end

group :doc do
  gem 'sdoc', require: false
end

您是否尝试过在
spec/support
文件夹中创建一个文件(比如designe.rb),其中包含您为spec\u helper提到的内容?@AlexP在控制器测试中不起作用
sign\u in
方法?假设你创建了一个带有
factory\u girl
的用户,然后
登录(@user)
。我在这一个上选择了核选项,并将Desive降级为3.0.0,到目前为止一切似乎都正常。
source 'https://rubygems.org'
ruby "2.1.0"

gem 'rails', '4.0.1'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'jbuilder', '~> 1.2'
gem "haml", "~> 4.0.4"
gem "angularjs-rails", "~> 1.2.7"
gem "zeus", "~> 0.13.3"
gem "pg", "~> 0.17.1"
gem "devise"
gem "omniauth"
gem "omniauth-twitter"
gem "uuidtools"
gem "quiet_assets", "~> 1.0.2"
gem "thin", "~> 1.6.1"
gem "jader", "~> 0.0.8"
gem "ngmin-rails", "~> 0.4.0"
gem 'foundation-rails'
gem "font-awesome-rails"
gem "twitter"

group :development, :test do
  gem "rspec-rails", "~> 2.14.1"
  gem 'factory_girl_rails', '4.2.1'
  gem "mocha", "~> 1.0.0"
  gem "database_cleaner", "~> 1.2.0"
  gem 'pry'
  gem 'pry-debugger'
end

group :doc do
  gem 'sdoc', require: false
end