Devise Registration#update via JS in Rails
ajax, devise, javascript, ruby-on-rails, ruby-on-rails-3
Solution
Simply had to add a line to the RegistrationsController so that Devise knows to respond_to both html and js.
class RegistrationsController < Devise::RegistrationsController
respond_to :html, :js
end
Reading up on how respond_with really helped. Couple of good links:
Rails API Responder
AsciiCast
Problem
I'm trying to update the User model through Devise with AJAX and have Devise respond with the proper javascript file. I want to submit the form remotely to the registrations#update action, but this isn't working with the default response from Devise, which uses the following from the RegistrationsController: ``` respond_with resource, :location => after_update_path_for(resource) ``` The above tries to redirect to the default route instead of rendering the update.js.erb file. I am able to overwrite the action and have it work with the following change: ``` respond_to do |format| format.html format.js end ``` But, this seems very brute force as I'm overriding the entire action. Is there a simple way for Devise to know to respond with javascript instead of doing its default redirect?