2014-10-02 2 views
0

내 사용자 등록 플로우에서 오류를 얻을 수 있도록 ajax 호출로 내 장치 등록을 설정하려고합니다. 현재 성공했을 때 사용자를 생성 할 수 있도록 JSON 형식의 오류를 얻을 수 없습니다. 여기 HTML 대신 AJAX : success 호출에서 JSON을 리턴 할 수있는 방법

내가 지금 무엇을 가지고 :

형태

<%= form_for(resource, as: resource_name, url: registration_path(resource_name), format: :json, remote: true) do |f| %> 
    <%= devise_error_messages! %> 

    <%= f.hidden_field :card_id %> 

    <div><%= f.label :email %><br /> 
     <%= f.email_field :email, autofocus: true %></div> 

    <div><%= f.label :password %> <% if @validatable %><i>(<%= @minimum_password_length %> characters minimum)</i><% end %><br /> 
     <%= f.password_field :password, autocomplete: "off" %></div> 

    <div><%= f.submit "Sign up" %></div> 
<% end %> 

JS이 경우

$('#new_user').on("ajax:success", function(data, status, xhr) { 
    console.log(data); 
    console.log(status); 
    console.log(xhr); 
}); 

를, 상태는 것이 정상적으로 발생하는 HTML로 응답 표준 장치를 추가하십시오.

답변

0

Devise::RegistrationsController을 서브 클래스 화하고 JSON 데이터를 리턴하려면 사용자 고유의 컨트롤러 조치를 작성해야합니다. 당신이 정상적인 행동을 취하는 것처럼 구조화하십시오. 그런 다음 데이터를 클라이언트로 리턴하려면 render json을 사용하십시오. Devise's Wiki은 많은 도움을 제공해야하며 웹을 둘러싼 많은 다른 리소스도 있습니다.

관련 문제