我有以下观点规范:
RSpec.describe "boilerplates/index", type: :view do
it "Doesn't render empty topic" do
assign :boilerplates, [create(:boilerplate_original, topic: nil)]
render
expect(rendered).to have_css('.topic', text: '')
end
end
该视图包含以下代码行:
resource_class.status.values.each do ...
这条线在规格中打破,因为它告诉我:
undefined method `status' for #<Class:0x00000104cb3ec8>
进一步调查时,resource_class
(来自InheritedResources)指向User
,但通常情况下,它指向Boilerplate
。
似乎Devise会覆盖视图规范中的resource_class
辅助方法。如何防止这种情况?