Finally I could reproduce the bug in a freshly created Rails 3
application, requiring one by one the gems I used in my first
application. The bug occurs when both twitter and sg-ruby gems are
required from Gemfile. If only one of both is required, the bug
disappears. Reading through the code of both gems, I could not figure
out how the bug appears. So to avoid the bug I just switched from the
twitter gem to the grackle gem.
Florent
On 4 juil, 23:24, Florent2
<flore...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Hello,
>
> I have a Rails 3 beta 4 where flash messages are not cleared when they
> should be. Please note that on a freshly created Rails 3 beta 4
> application I do not face the problem. I searched for something flash
> specific in my application that could cause the problem, but I found
> nothing.
>
> In the home page controller action I set flash.now.notice =
"hello".
> This flash message is correctly displayed on the home page.
>
> But when I request another page, the flash message is still displayed
> although I do not set a flash message in this other page controller
> action.
>
> In my application controller, I log the content of the
> session[''flash''] object in a before filter and in an
after filter.
> Here is what I get:
>
> 1. request on the homepage setting the flash message:
> - before filter: session[''flash''] = nil
> - after filter : session[''flash''] =
{:notice=>"hello"}
>
> 2. request on another page not setting the flash message:
> - before filter: session[''flash''] =
{"notice"=>"hello"}
> - after filter : session[''flash''] =
{"notice"=>"hello"}
>
> I don''t understand why the session[''flash'']
contains {"notice" =>
> "hello"} at the beginning of the request of the second page.
> The :notice key has correctly disappeared but a new key "notice"
has
> appeared. That''s what provokes the unwanted display of the flash
> message on the second request.
>
> I''ve looked into the ActionDispatch::Flash class and tried to log
what
> happened in the sweep function
> http://github.com/rails/rails/blob/master/actionpack/lib/action_dispa...
> The problem is that the key "notice" is not deleted as @used set
> contains :notice where the flash keys contains "notice".
>
> I could not figure out how and where in the code the flash object is
> reconstructed from the cookie session. Also, is it possible from the
> browser to read the content of the Rails cookie session to directly
> see how is the flash stored in the cookie?
>
> Any help or indication to further dig in my problem would be greatly
> appreciated :)
>
> Florent
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.