Вопрос

Я пытаюсь добавить ссылку на действие к активному контроллеру каркаса, используя

if current_user.can? :update, Post
  config.action_links.add 'export', :label => 'Export', :page => true
end

Но какой бы контроллер я пытался использовать, я всегда получаю undefined method current_user
Итак, как я могу проверить, может ли зарегистрированный пользователь/не может что -то сделать?
Я даже пробовал с

def ability
  @ability ||= Ability.new(self)
end
delegate :can?, :cannot?, :to => :ability

как предполагалось здесь, но без успеха.
Что не так с этим?

Это было полезно?

Решение

current_user - это типично определенный метод, но он должен добавить. Это не поставляется рельсами. Таким образом, вам нужен метод current_user в вашем приложении. Есть тонны примеров, но я бы посмотрел на Authlogic Пример приложения на GitHub

Другие советы

Обратите внимание, что в обычном случае конфигурация ActiveScaffold выполняется в классе, а не в экземпляре, поэтому нет набора current_user, потому что запрос еще нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top