Из того, что я видел в своем приложении, если мой контроллер использует запрос AngularJs $ http.get, я не могу обновить данные сеанса в контроллере, который обрабатывает этот запрос, потому что ответ типа рендеринга: json => тип данныхне обновляет файл cookie сеанса на клиенте.Я не уверен, что это действительно так, но то, что, похоже, происходит.
Если это правда, хотя мне кажется, что я использую devise, например, и инициализирую переменную сеанса, например, session [: foo] = "bar" в сеансе # create, а затем я получаю угловоймодуль, который выполняет $ http.get, который обрабатывается, скажем, учетной записью # my_method, следующим образом
def my_method
session[:foo]="baz"
[do something]
render :json => {status: "OK"}
end
изменение сеанса [: foo] не будет сохранено в файле cookie сеанса пользователя, таким образом, следующеевремя, когда пользователь нажимает на сеанс контроллера [: foo], все равно будет равняться «bar», а не «baz».
Это кажется маловероятным, но это похоже на то, что я вижу, когда я отлаживаю свое приложение.Если это так, будет ли лучше работать база данных или хранилище сессий memcache, поскольку изменение произойдет на стороне сервера и не потребует обновления файла cookie на стороне клиента?Или есть способ обработки обновлений сеанса при использовании методов типа Ajax, таких как $ http.get в AngularJs