Как получить доступ к устройству current_user из модели - PullRequest
5 голосов
/ 31 января 2011

Просто начните разрабатывать с devise для аутентификации моего приложения, однако у вас возникнут проблемы с доступом к current_user из модели. У меня нет проблем с доступом к контроллеру.

Для моего сценария мне нужно получить текущий идентификатор пользователя, чтобы отслеживать, кто редактировал сообщение в блоге, и я сохраняю идентификатор пользователя с фильтром before_save.

Ценю вашу помощь!

Спасибо

Ответы [ 3 ]

3 голосов
/ 28 февраля 2011

Вы можете передать его только в параметре.

class SomeModel 
  def my_nifty_method(user)
  end
end

в контроллере:

class SomeModelsController < ApplicationController
  def some_method
    sm = SomeModel.new
    sm.my_nifty_method(current_user)
  end
end
0 голосов
/ 03 мая 2011

Почему вы пытаетесь получить доступ к этому методу в модели? Вы можете получить доступ к атрибутам ID через self.id (внутри модели)

0 голосов
/ 31 марта 2011

Вы должны быть в состоянии сделать это в вашей модели. 'c' здесь - объект модели и его атрибут user_id перед созданием или сохранение в вашем случае.

before_create {|c| c.user_id = Authorization.current_user.id}

Я немного новичок в RoR, так что будьте осторожны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...