2013-10-30 2 views
0

나는 render :json=> {"status"=>"failed",:errors=>@user.errors.messages}.to_json사용자 지정 오류가 3

{ 
    "status": "failed", 
    "errors": { 
     "Email": [ 
      "has already been taken" 
     ], 
     , 
     "Username": [ 
      "has already been taken" 
     ] 
    } 
} 

의 메시지 오류가 발생했을하지만 난 사용자 지정 오류에 원하는 :

{ 
     "status": "failed", 
     "errors": { 
      "error": [ 
       "Email has already been taken" 
      ], 
      , 
      "error": [ 
       "Username has already been taken" 
      ] 
     } 
    } 

날이 문제를 해결하는 데 도움이 바랍니다. 협조 해 주셔서 감사합니다.

+0

'@ user.errors.messages'에서 Email 및 UserName 값에 액세스하려고 시도하고 이름이 "error"인 두 개의 값을 색인 할 수 없습니다 – shiva

+0

왜이 json 구조가 필요합니까? 방금 메시지 내용을 변경하려는 경우 http://stackoverflow.com/questions/6966263/rails-custom-validation-message – duykhoa

답변

0

User 모델에 my_custom_errors_messages 메서드를 구현할 수 있습니다. 또는 모듈에서 모델에 포함 시키십시오. 오류를 변경하게되는 곳은 원하는대로 있습니다.

full_messages()도 도움이 될 것입니다.

+0

해답을 자세히 설명해주세요. 너무 많이 감사합니다. –

+0

어떤 종류의 세부 사항? 메소드를 정의하고,'map'과 같은 열거 가능한 메소드를 사용하고 원하는 해시를 준비하십시오. – ck3g

+0

모듈 정보 : http://ruby-doc.org/core-2.0.0/Module.html 열거 형에 대한 내용 : http://ruby-doc.org/core-2.0.0/Enumerable.html – ck3g

관련 문제