Я новичок в Rails.Я пытаюсь построить простую систему аутентификации, чтобы application_controller Я поставил следующие строки:
def check_session
if session[:user]
if session[:expiry_time] < 10.minutes.ago
reset_session
flash[:warning] = 'You was logout.'
redirect_to root_url
else
session[:expiry_time] = Time.now
end
else
#... authenticate
session[:expiry_time] = Time.now
flash[:warning] = 'You was logout.'
redirect_to root_url
end
end
Моя проблема в одном действии - в этом действии я проверяю, входит ли пользователь в систему.или нет.И если пользователь входит в систему, то я буду отображать один шаблон, а если нет, то я буду отображать второй.Похоже:
<% unless session[:user].nil? %>
<%= render :template => 'template_for_login_user' %>
<% else %>
<%= render :template => 'template_for_not_login_user' %>
<% end %>
И вот проблема - это не работает мне.По крайней мере ... хорошо - если я не вхожу в систему, будет отображаться шаблон template_for_not_login_user , а если я - так, то template_for_login_user .Это правильно.
Но если я вхожу в систему и нахожусь на template_for_login_user , но у меня 15 минут простоя => сеанс истечет => Я должен быть перенаправлен на форму входа,Но вот проблема - я 15 минут бездействую, и я обновляю эту страницу, поэтому я все еще в действии template_for_login_user - и это проблема ...
Я хотел быспрашиваю - не могли бы вы мне помочь, пожалуйста, в чем может быть проблема?Что я делаю не так?