javascript - How does "respond_with_navigational" work? -


i'm working devise , deviseinvitable manage authentication in app , i'm having trouble adding ajax support invitationscontroller#update. controller in deviseinvitable looks this:

# invitations_controller.rb  # put /resource/invitation                                                                                                  def update   self.resource = resource_class.accept_invitation!(params[resource_name])    if resource.errors.empty?     set_flash_message :notice, :updated     sign_in(resource_name, resource)     respond_with resource, :location => after_accept_path_for(resource)   else     respond_with_navigational(resource){ render_with_scope :edit }   end end 

this works when resource.errors.empty? == true , execute:

respond_with resource, :location => after_accept_path_for(resource) 

(i.e. invitations/update.js.erb rendered , javascript calls made). problem when resource.errors.empty? == false, , execute:

respond_with_navigational(resource){ render_with_scope :edit } 

the server says:

rendered invitations/update.js.erb (1.4ms) 

but javascript calls not being run. can explain respond_with_navigational supposed doing? i've been googling hours , haven't found explanation of api anywhere.

thanks!

ok, figure out respond_with_navigational doing. it's defined in devise base classes such:

def respond_with_navigational(*args, &block)     respond_with(*args) |format|       format.any(*navigational_formats, &block)     end end 

and, navigational_formats defined in devise well:

# returns real navigational formats supported rails def navigational_formats     @navigational_formats ||= devise.navigational_formats.select{ |format| mime::extension_lookup[format.to_s] } end 

so, it's wrapper respond_with(). in order work, had add following invitationscontroller:

respond_to :html, :js 

and now, update.js.erb being rendered properly.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -