This may seen kind of lame but works as far. If anyone knows better
solution - share it please :)

module ActionController
  class Base
    private

    def render_for_text_with_flashes(text = nil, status = nil,
append_response = false) #:nodoc:
      result =  render_for_text_without_flashes(text, status,
append_response)

      if response.content_type == Mime::JS
        response.body << "$('messages').update('#
{self.instance_variable_get("@template").message_block :flash_types =>
%w(back confirm error info warn notice), :on =>
MODEL_NAMES_FOR_MB}');new Effect.Highlight('messages'); "
      end
      result
    end

    alias_method_chain :render_for_text, :flashes

  end
end


On Jul 14, 10:13 am, stevo84 <[email protected]> wrote:
> Hello
>
> I would like to execute specific action rendering something into page
> after each of my ajax calls. In example I would like to update some
> div or display an alert.
>
> How I imagine it could work is as follows
>
> class ApplicationController < ActionController::Base
>   after_filter :do_something_after_each_ajax_call
>
>   def do_something_after_each_ajax_call
>     if request.xml_http_request?
>       render :update do |page|
>         page << "alert('doing something!');
>       end
>     end
>   end
> end
>
> Of course code above will yield with "Can only render or redirect once
> per action". How would You approach this problem?
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to