Hi Liste,

ich habe gerade ein seltsames Verhalten einer Session: Ich will mir mir zuletzt angesehene ID's in der Session merken, dazu wird in einer action ein array in die Session gelegt:


class TryoutController < ApplicationController

respond_to :js, :html

def stack
    ...
    session[:stack_session] = []
    ...
end


und in einer anderen action werden id's in dieses Array gepackt:

def remember
   session[:stack_session] << params[:card_id] if session[:stack_session]
   render :json => :ok, :status => "200"
end

Und genau das funktioniert nicht wirklich vorhersehbar: mal wird die id hinzugefügt, mal nicht, mal klappt es dreimal hintereinander, mal gar nicht. Merkwürdig ist, dass er den von stack in die Session gelegten Array immer findet, auch der AJAX-Call lokalisiert also die richtige Session, nur Änderungen an dieser Session werden nicht über den Request hinaus gespeichert.

Der entsprechende Test dazu läuft durch, das ganze funktioniert nur nicht, wenn man es durchklickt. Kurioserweise kann man den Controller per :html aufrufen, dann geht's reproduzierbar, nur wenn man den Call per :js macht, dann wird die session vergesslich - hat irgendjemand eine Idee, woran das liegen könnte?!

Grüße
Stefan



_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an