devise и current_user - PullRequest
       22

devise и current_user

0 голосов
/ 19 декабря 2010

У меня есть приложение на Rails 3, которое я пытаюсь реализовать с помощью devise и Declarative_authorization. Важной частью декларативного_авторизации является наличие функции "role_symbols" в пользовательской модели. Из-за того, как я реализую роли, я реализую метод экземпляра в модели User, чтобы отслеживать значение (давайте назовем foo) как таковое:

  attr_accessor :foo

  def foo=(val)
    @foo = val
  end

  def foo
    @foo
  end

Затем мы будем использовать значение foo в методе role_symbols, чтобы ограничить допустимые роли, возможно, так:

def role_symbols
  roles.where("foo = ?", @foo).name.underscore.to_sym
end

Проблема заключается в том, что когда я пытаюсь установить значение foo для current_user в контроллере, оно не сохраняется, например:

current_user.foo = 99

успешно, но когда я проверяю значение в другом представлении (или контроллере), значение current_user.foo равно nil.

Разве объект current_user не является просто объектом User, который сохраняется в сеансе? Если да, есть ли какая-то блокировка установки значений экземпляра в объекте current_user?

1 Ответ

0 голосов
/ 21 декабря 2010
...