У меня возникла странная ошибка в Rails, я создаю приложение, в котором пользователи могут регистрироваться и загружать файлы. Все работает, но когда я хочу, чтобы загрузить любой файл, код в моем контроллере приложения для проверки активного сеанса не удается, потому что он не может получить доступ к массиву сеанса:Странная вещь при проверке сессий в Rails по запросу POST
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
Хм, проблема в том, что вы не использовали помощника Rails. Вы используете там просто HAML. – cicloon
Почему это проблема? – pmerino
Идентификатор подлинности автоматически генерируется, если вы используете помощники рельсов. – cicloon