Метод разработки current_user возвращает ноль вне пользовательского контроллера - PullRequest
2 голосов
/ 24 сентября 2011

Это проблема объема / маршрутов?Current_user работает в пользовательском контроллере.Снаружи, в другом контроллере / представлении, это возвращает ноль.Даже если пользователь вошел в систему, user_signed_in?метод возвращает ложь.Я знаю, что что-то упустил, но не могу указать пальцем.Как правильно это сделать?

Ответы [ 4 ]

6 голосов
/ 24 сентября 2011

у меня работает в других контроллерах. Дикое предположение: возможно, другому контроллеру нужно: before_filter: authenticate_user!

4 голосов
/ 24 сентября 2011

Нашел проблему. Это были сеансы. По-видимому, current_user и другие методы не работали правильно из-за файлов cookie. У меня были субдомены, и проблема была из-за этого https://github.com/fortuity/rails3-subdomain-devise/wiki/Tutorial-%28Walkthrough%29. Это руководство по git помогло.

Спасибо!

2 голосов
/ 05 февраля 2013

У меня была такая же проблема, мне нужно было указать это в моем макете, я использовал другой макет, чем приложение:

= csrf_meta_tags
0 голосов
/ 21 января 2014

Со мной случилось то же самое, но проблема была в том, что я сделал запрос ajax. Это исправлено (в хамле). Это гарантирует, что все запросы ajax содержат токен csrf:

:coffee
  require ['jquery'], ($)->
    $.ajaxSetup
      headers:
        'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')

Убедитесь, что это в шапке:

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