I can''t seem to get a flash message to display in my app after catching an exception. I have a method that loads the current user based on the current subdomain, the current_subdomain_user method throws an ActiveRecord::RecordNotFound if it can''t find a user for a particular subdomain. I have a before_filter that calls this method and catches any record not found exceptions, sets a flash message and redirects. The problem is that the flash message isn''t being displayed, I can''t understand why not. Any help would be much appreciated. Below is the before filter def user_required begin current_subdomain_user # this method will raise an exception if the current subdomain user can''t be found rescue ActiveRecord::RecordNotFound flash[:error] = "Couldn''t find the user #{current_subdomain}" redirect_to root_url(:subdomain => false) end end -- Posted via http://www.ruby-forum.com/.
Do you have something like <%= flash[:error] %> in your layout or view file? On Jun 22, 8:43 pm, Oliver Nightingale <rails-mailing-l...@andreas- s.net> wrote:> I can''t seem to get a flash message to display in my app after catching > an exception. > > I have a method that loads the current user based on the current > subdomain, the current_subdomain_user method throws an > ActiveRecord::RecordNotFound if it can''t find a user for a particular > subdomain. > > I have a before_filter that calls this method and catches any record not > found exceptions, sets a flash message and redirects. > > The problem is that the flash message isn''t being displayed, I can''t > understand why not. Any help would be much appreciated. Below is the > before filter > > def user_required > begin > current_subdomain_user # this method will raise an exception if > the current subdomain user can''t be found > rescue ActiveRecord::RecordNotFound > flash[:error] = "Couldn''t find the user #{current_subdomain}" > redirect_to root_url(:subdomain => false) > end > end > -- > Posted viahttp://www.ruby-forum.com/.
Yeah, I should have mentioned that sorry. I can display flash messages, including error messages elsewhere in my application, I have the following code for displaying the flash messages in my layout. Layout: <%= flash_messages %> Helper: def flash_messages messages = [] %w(notice warning error).each do |msg| messages << content_tag(:div, html_escape(flash[msg.to_sym]), :id => "flash-#{msg}") unless flash[msg.to_sym].blank? end messages end -- Posted via http://www.ruby-forum.com/.
Not sure if you got this answered but a guess would be because the flash hash is persisted only across the same domain... your subdomain doesn''t see the flash message. On Jun 22, 12:39 pm, Oliver Nightingale <rails-mailing-l...@andreas- s.net> wrote:> Yeah, I should have mentioned that sorry. > > I can display flash messages, including error messages elsewhere in my > application, I have the following code for displaying the flash messages > in my layout. > > Layout: > <%= flash_messages %> > > Helper: > def flash_messages > messages = [] > %w(notice warning error).each do |msg| > messages << content_tag(:div, html_escape(flash[msg.to_sym]), :id > => "flash-#{msg}") unless flash[msg.to_sym].blank? > end > messages > end > -- > Posted viahttp://www.ruby-forum.com/.