AuthLogic - как определить текущий идентификатор пользователя по всей системе? - PullRequest
0 голосов
/ 23 мая 2010

Я настроил AuthLogic почти точно так же, как в примере приложения AuthLogic на http://github.com/binarylogic/authlogic_example.

После того, как кто-то войдет в систему как пользователь, он сможет щелкать ссылки, которые отправляют его в систему и удаляют от пользователей.контроллер.Это невероятно сложный вопрос, но как я могу получить доступ к идентификатору этого пользователя и другим атрибутам из любого другого места, например, из несвязанного представления или несвязанного контроллера?

Пример того, что я хотел бы сделать:

#matchings controller
@matching = Matching.find_by_user_id(user.id)

1 Ответ

5 голосов
/ 23 мая 2010

Вы можете использовать current_user или @current_user. Функция, которая возвращает current_user, определена в контроллере приложения.

...
  private
  def current_user_session
    return @current_user_session if defined?(@current_user_session)
    @current_user_session = UserSession.find
  end

  def current_user
    return @current_user if defined?(@current_user)
    @current_user = current_user_session && current_user_session.record
  end
...

Итак, вы можете использовать: @matching = Matching.find_by_user_id(current_user.id) или
@matching = Matching.find_by_user(current_user)

...