Application Controller辅助方法不适用于Views Specs

时间:2011-05-19 10:09:26

标签: ruby-on-rails-3 rspec authlogic rspec2

我的应用程序控制器中有一个名为current_user的辅助方法(与Authlogic一起使用)。

使用该帮助程序的视图的规范失败(但是当我使用浏览器时视图正常工作)

ActionView::Template::Error: undefined local variable or method 'current_user' for #<#<Class:0x0000000229b060>:0x00000002004248>

我使用的是rspec 2.6.0。

有人有同样的问题吗?请指教。感谢

4 个答案:

答案 0 :(得分:11)

您可以在view上隐藏该方法。

view.stub(:current_user).and_return(user)

这也适用于辅助规范。

答案 1 :(得分:4)

辅助对象中不包含控制器定义的辅助方法。

http://relishapp.com/rspec/rspec-rails/dir/helper-specs/helper-spec

答案 2 :(得分:0)

看看这个:http://apidock.com/rails/ActionController/Helpers/ClassMethods/helper_method

您可以在ApplicationController中定义帮助程序,并在控制器和视图中使用它。

答案 3 :(得分:0)