У меня есть контроллер с именем Administrator. Этот контроллер имеет действия для других моделей. Когда я пытаюсь разрешить эти действия с CanCan, я получаю этот ответ.CanCan - Поиск неопределенного метода для определенного класса
<h1>
NoMethodError
in AdministratorController#preproduct_delete
</h1>
<pre>undefined method `find' for Administrator:Class</pre>
Код контроллера начинается с:
class AdministratorController < ApplicationController
load_and_authorize_resource
before_filter :authenticate_user!
def users
authorize! :users, "Users List"
@users = User.all
end
end
модель имеет способность:
if user.admin? then :admin
can :users
end
authenticate_user!
метод:
# See ControllerAdditions#authorize! for documentation.
def authorize!(action, subject, *args)
message = nil
if args.last.kind_of?(Hash) && args.last.has_key?(:message)
message = args.pop[:message]
end
if cannot?(action, subject, *args)
message ||= unauthorized_message(action, subject)
raise AccessDenied.new(message, action, subject)
end
subject
end
Я попытался удалить load_and_authorize_r esource от контроллера, но когда вызывается какое-либо действие, CanCan перенаправляет меня на страницу входа каждый раз.
Большое спасибо
Да, я пытаюсь с помощью: управлять,: все и получать одинаковый результат. Спасибо – jgiunta