Unit testing Rspec:Nomethoderor

Unit testing Rspec:Nomethoderor,unit-testing,ruby-on-rails-4,rspec,fabrication-gem,Unit Testing,Ruby On Rails 4,Rspec,Fabrication Gem,我正在为模型编写测试用例(单元测试),并得到一个错误,我真的不知道为什么 这是我的错误: Failure/Error: expect(Shelf.enabled.count).to eq 2 NoMethodError: undefined method `enabled' for #<Class:0x00000005a2c088> 已启用是工具架布尔类型的属性 请纠正我的遗漏或错误 谢谢您需要在工具架类上创建一个作用域来实际搜索已启用的记录 class S

我正在为模型编写测试用例(单元测试),并得到一个错误,我真的不知道为什么

这是我的错误:

Failure/Error: expect(Shelf.enabled.count).to eq 2
     NoMethodError:
       undefined method `enabled' for #<Class:0x00000005a2c088>
已启用是工具架布尔类型的属性

请纠正我的遗漏或错误


谢谢

您需要在
工具架
类上创建一个作用域来实际搜索已启用的记录

class Shelf
  scope :enabled, -> { where(enabled: true) }

  ...
end

你为什么使用布尔计数?expect(Shelf.enabled.count)enabled是布尔类型,我使用它来显示激活或停用Shelf(模型)。现在在我的测试中,我有3个(样品架),我想测试它们是如何活动的,有多少是不活动的。如果我让你明白我的要求@andreyPlease显示您的
Shelf
类及其启用的方法没有启用的方法,启用的只是Shelf的属性@phts如果我需要添加方法?因为我正在尝试访问direct属性。
class Shelf
  scope :enabled, -> { where(enabled: true) }

  ...
end