yo estaba tratando de probar una vista simple índice, que ha siguiente código en el interior:vistas de pruebas que utilizan CanCan y diseñar con RSpec
- if can? :destroy, MyModel
%th Options
MyModelsController
tiene las siguientes opciones (Recursos heredados + CanCan + Idear):
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
Cuando se ejecuta especificaciones, se estrella en la línea de - if can? :destroy, MyModel
Failure/Error: render
ActionView::Template::Error:
undefined method `authenticate' for nil:NilClass
No hay rastreo, nada en que basar ...
Pensé que tal vez no estoy autorizado y firmado al probar vistas, pero Devise::TestHelpers
solo debe incluirse en las pruebas del controlador (y así es como lo tengo).
¿Estaba tratando de anular el método? tanto en Ability
como en el controlador, pero eso no dio ningún efecto.
no sé cómo me lo perdí, pero funciona perfectamente, gracias! – farnoy
También tuve que colgar 'view.current_ability' así como en' controller' pero esto fue perfecto – Gareth
bingo !!!!!!!!!! –