【发布时间】:2011-06-28 10:46:02
【问题描述】:
我正在尝试测试一个简单的索引视图,其中包含以下代码:
- if can? :destroy, MyModel
%th Options
MyModelsController 有以下选项(继承资源 + CanCan + 设计):
class MyModelsController < ApplicationController
inherit_resources
nested_belongs_to :mymodel
before_filter :authenticate_user!
load_and_authorize_resource :project
load_and_authorize_resource :mymodel, :through => :project
运行规范时,它在- if can? :destroy, MyModel 行崩溃
Failure/Error: render
ActionView::Template::Error:
undefined method `authenticate' for nil:NilClass
没有追溯,没有任何依据......
我想也许我在测试视图时没有被授权和签名,但Devise::TestHelpers 应该只包含在控制器测试中(这就是我的方式)。
我试图重写方法可以吗?在Ability 和控制器中,但这没有任何效果。
【问题讨论】:
标签: ruby-on-rails ruby rspec devise cancan