我的一个rspec测试失败了,因为我无法在渲染视图的装饰器上使用辅助方法,而视图在正常运行服务器时工作正常,这里是错误
1) dashboard/index.html.haml render all translations
Failure/Error: render
ActionView::Template::Error:
undefined method `dashboard?' for #<#<Class:0x0000000a9d1020>:0x0000000c2286f0>
以下方法是在从渲染视图调用的装饰器方法内调用的简单布尔检查:
items << h.link_to(...) if h.dashboard?
辅助方法:
def dashboard?
controller_name == "dashboard"
end
我可以将辅助模块导入装饰器,但是对于controller_name的错误更改是未定义的,所以我想我的问题分为两部分:
一,如何通过Rspec从渲染视图调用装饰器时,如何使助手方法工作?第二,如何设置controller_name在Rspec测试中工作。
答案 0 :(得分:0)
您的测试正在寻找一种名为dashboard?
的方法,该方法似乎未在您的代码中定义。
您可以更新测试以查找方法moderators_dashboard?
或者
将def moderators_dashboard?
更改为def dashboard?