Ruby on rails rspec型号规范中要求设计

Ruby on rails rspec型号规范中要求设计,ruby-on-rails,ruby,ruby-on-rails-3,rspec,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Rspec,Devise,我在我的管理模型中使用Desive,如下所示: class Admin < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable end …然后当我去运行规范时,它爆炸了: active_record/dynamic_matchers.rb:22:in `method_missing':

我在我的管理模型中使用Desive,如下所示:

class Admin < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
end
…然后当我去运行规范时,它爆炸了:

active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `devise' for Admin(Table doesn't exist):Class (NoMethodError)
我需要如何设计才能在我的规范中使用?看来我应该可以

require 'devise'

在我的规范或模型(最好是我的模型)中,但这并不能解决问题或更改堆栈跟踪。我如何要求设计,使我的模型具有可用的辅助方法?我在探索设计宝石,但没有发现任何线索。

你是如何运行这些的?RSpec直接?或者
bundle exec rake spec

你的错误是:
用于Admin(表不存在)
,这让我想知道你是否有数据库。rake任务应该负责为您设置世界

如果没有帮助,也可以发布你的
spec\u helper.rb
内容

以下是我的基本管理模型:

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

适用于香草生成的rails应用程序和生成的Desive设置。

您是如何运行这些程序的?RSpec直接?或者
bundle exec rake spec

你的错误是:
用于Admin(表不存在)
,这让我想知道你是否有数据库。rake任务应该负责为您设置世界

如果没有帮助,也可以发布你的
spec\u helper.rb
内容

以下是我的基本管理模型:

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

适用于香草生成的rails应用程序和生成的Desive设置。

您是如何运行这些程序的?RSpec直接?或者
bundle exec rake spec

你的错误是:
用于Admin(表不存在)
,这让我想知道你是否有数据库。rake任务应该负责为您设置世界

如果没有帮助,也可以发布你的
spec\u helper.rb
内容

以下是我的基本管理模型:

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

适用于香草生成的rails应用程序和生成的Desive设置。

您是如何运行这些程序的?RSpec直接?或者
bundle exec rake spec

你的错误是:
用于Admin(表不存在)
,这让我想知道你是否有数据库。rake任务应该负责为您设置世界

如果没有帮助,也可以发布你的
spec\u helper.rb
内容

以下是我的基本管理模型:

class Admin < ActiveRecord::Base
  devise :database_authenticatable, :recoverable, :rememberable,
         :trackable, :validatable
end
适用于香草生成的rails应用程序和生成的Desive设置。

此错误

undefined method `devise' for Admin(Table doesn't exist):Class (NoMethodError)
似乎你没有数据库中的表?您迁移了rake文件吗?

此错误

undefined method `devise' for Admin(Table doesn't exist):Class (NoMethodError)
似乎你没有数据库中的表?您迁移了rake文件吗?

此错误

undefined method `devise' for Admin(Table doesn't exist):Class (NoMethodError)
似乎你没有数据库中的表?您迁移了rake文件吗?

此错误

undefined method `devise' for Admin(Table doesn't exist):Class (NoMethodError)

似乎你没有数据库中的表?您迁移了rake文件吗?

是的,您的测试数据库似乎没有
admins
表。 试试这个:


bundle exec rake db:migrate db:test:prepare


db:migrate
迁移您的开发数据库,如果存在任何挂起的迁移,并且
db:test:prepare
根据开发数据库克隆您的测试数据库。

是的,您的测试数据库似乎没有
admins
表。 试试这个:


bundle exec rake db:migrate db:test:prepare


db:migrate
迁移您的开发数据库,如果存在任何挂起的迁移,并且
db:test:prepare
根据开发数据库克隆您的测试数据库。

是的,您的测试数据库似乎没有
admins
表。 试试这个:


bundle exec rake db:migrate db:test:prepare


db:migrate
迁移您的开发数据库,如果存在任何挂起的迁移,并且
db:test:prepare
根据开发数据库克隆您的测试数据库。

是的,您的测试数据库似乎没有
admins
表。 试试这个:


bundle exec rake db:migrate db:test:prepare


db:migrate
迁移您的开发数据库,如果有任何挂起的迁移,并且
db:test:prepare
根据开发数据库克隆您的测试数据库。

明白了。我使用sqlite3的内存实例运行spec,因此所有的
db:test:prepare
都不适用于我。除了需要设计外,还必须进行
设置/配置

因此在
/spec/support/designe.rb中:

require 'devise'

Devise.setup do |config|
  require 'devise/orm/active_record'
end
然后在spec_helper.rb中:

Dir["./spec/support/**/*.rb"].sort.each {|f| require f}

明白了。我使用sqlite3的内存实例运行spec,因此所有的
db:test:prepare
都不适用于我。除了需要设计外,还必须进行
设置/配置

因此在
/spec/support/designe.rb中:

require 'devise'

Devise.setup do |config|
  require 'devise/orm/active_record'
end
然后在spec_helper.rb中:

Dir["./spec/support/**/*.rb"].sort.each {|f| require f}

明白了。我使用sqlite3的内存实例运行spec,因此所有的
db:test:prepare
都不适用于我。除了需要设计外,还必须进行
设置/配置

因此在
/spec/support/designe.rb中:

require 'devise'

Devise.setup do |config|
  require 'devise/orm/active_record'
end
然后在spec_helper.rb中:

Dir["./spec/support/**/*.rb"].sort.each {|f| require f}

明白了。我使用sqlite3的内存实例运行spec,因此所有的
db:test:prepare
都不适用于我。除了需要设计外,还必须进行
设置/配置

因此在
/spec/support/designe.rb中:

require 'devise'

Devise.setup do |config|
  require 'devise/orm/active_record'
end
然后在spec_helper.rb中:

Dir["./spec/support/**/*.rb"].sort.each {|f| require f}