У меня странная ошибка в Rails, я делаю приложение, в котором пользователи могут войти и загрузить файлы. Все работает, но когда я хочу загрузить любой файл, код в контроллере приложения для проверки активного сеанса завершается неудачно, потому что он не может получить доступ к массиву сеанса:
def current_user
if session[:session].nil? # <- Fails here
redirect_to "/login"
else
if session[:hash] == Digest::SHA512.hexdigest(session[:password]+" - "+session[:username]+" - "+session[:uuid]) #< and here (removing the other if) with NoMethodError
return 0
else
redirect_to "/login"
end
end
end
Это работает для других вещей, но, очевидно, нарушает POST-запросы. Это мой вид HAML для загрузки файлов:
%b Upload
%form{:action=>"/u",:method=>"post",:enctype=>"multipart/form-data"}
%br
%input{:type=>"file",:name=>"file"}
%input{:type=>"submit",:value=>"Upload"}
Что я делаю не так? Также в POST-запросах я получаю в журнале приложений: WARNING: Can't verify CSRF token authenticity