Ich verwende swfupload die neueste Version, 2.2.0 und Schienen 2.3.3. Nachdem ich eine Reihe von Anweisungen gesehen hatte, die CGI :: Session.initialize durch ein Stück Code ersetzen mussten, um die Sitzung aus Schlüssel/Wert-Paaren zu extrahieren, die in meine Formular-URL eingefügt wurden, integrierte ich das Code-Segment in meine Umgebung. rb:Rails weigert sich, eine Sitzung aus den von swfupload gesendeten Daten zu laden
require 'cgi'
class CGI::Session
alias original_initialize initialize
def initialize(request, option = {})
session_key = option['session_key'] || '_session_id'
query_string = if (qs = request.env_table["QUERY_STRING"]) and qs != ""
qs
elsif (ru = request.env_table["REQUEST_URI"][0..-1]).include?("?")
ru[(ru.index("?") + 1)..-1]
end
if query_string and query_string.include?(session_key)
option['session_id'] = query_string.scan(/#{session_key}=(.*?)(&.*?)*$/).flatten.first
end
original_initialize(request, option)
end
end
ich die Session Informationen sehen richtig in die Formularparameter verpackt als Dateien hochgeladen werden, aber der obige Code feuert nie aus der Datenbank die Sitzung Info zu bringen.
Was ist die geheime Soße, die man von einer Paket-Session-ID und Authentizitätstokens bekommt (sie werden auch nicht von den Params abgeholt)? wenn überhaupt möglich
Bedenkt man, wie nahe ich bin diese Arbeit und wie viel Zeit ich in sie investiert haben, zu bekommen, würde ich es vorziehen, die Antwort auf die ursprüngliche Frage zu bekommen. Ich habe mir die Rack-Middleware-Seite angeschaut und obwohl es ein funktionierendes Beispiel in Code gibt, gibt es kein laufendes Beispiel, das man als Referenz untersuchen kann. Also noch einmal, ich möchte lieber mein aktuelles Problem lösen, bevor ich das Ganze verschrotte und etwas Neues mache. Trotzdem danke. Ich werde es als meine nächste Option behalten. – Sniggerfardimungus
Soweit mir bekannt ist, wird die ganze CGI-Cookie-Sache nicht mit der Version von Schienen funktionieren, die Sie verwenden, da es jetzt Rack verwendet. –