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
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
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-
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.