Как сохранить user_id в сеансе, используя Ruby Sinatra - PullRequest
0 голосов
/ 12 марта 2020

Вот мой класс UserService, как только мой маршрут получит запрос на запуск, он вызовет UserService.singup, чтобы выполнить регистрацию logi c. Я хочу сохранить идентификатор пользователя в сеансе, но он просто не работает.

Он продолжает показывать мне "NameError - неопределенная локальная переменная или метод" session "для UserService: Class"

class UserService

    def self.signup(params)
        @user = User.new(params)
        if @user.save
            session[:user_id] = @user.id
            make_json(200, 0, "Signup success!", @user)
        else
            make_json(400, 0, "Signup success!")
        end
    end

end

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Сессия не может быть сохранена в модели, потому что она фиолетовая MVC структура, но вы можете использовать нить вместо сессии. Пожалуйста, обратитесь по ссылке ниже:

Установить нить вместо сессии в модели

0 голосов
/ 12 марта 2020

Сеанс ha sh доступен только для контроллеров, представлений, тестов контроллеров и тестов представлений. Он недоступен в моделях.

...