Я работаю с Devise и DeviseInvitable для управления аутентификацией в моем приложении, и у меня возникают некоторые проблемы с добавлением поддержки AJAX в обновление InvitationsController #.Контроллер в DeviseInvitable выглядит следующим образом:
# 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
Это хорошо работает, когда resource.errors.empty? == true
, и мы выполняем:
respond_with resource, :location => after_accept_path_for(resource)
(т.е. invitations / update.js.erb отображается и мойзвонки JavaScript сделаны).Проблема в том, что когда resource.errors.empty? == false
, и мы выполняем:
respond_with_navigational(resource){ render_with_scope :edit }
, сервер говорит:
Rendered invitations/update.js.erb (1.4ms)
, но мои вызовы JavaScript не выполняются.Может кто-нибудь объяснить, что respond_with_navigational
должен делать?Я часами гуглю и нигде не нашел объяснения этому API.
Спасибо!