최초 사용자 오랜 시간 독자. 필자는 강력한 검색 엔진 인 Google을 통해 문제가 발생했는지에 대한 설명을 철저하게 모색했지만, 아쉽게도 중요한 통찰력을 얻지 못했습니다.레일 유효성 검사는 실패하지만 객체 메모리는 변경되지 않습니다.
모델 양식이 유효하지 않은 데이터로 다시로드되지 않도록 할 수 있어야합니다. 서버의 메모리에 저장된 모델은 먼저 웹 양식의 매개 변수로 직접 편집되고 추가 코드없이 유효성을 검사 한 후 잘못된 모델 데이터가 항상 양식으로 다시 전송됩니다. 이것은 나에게 바람직하지 못한 것입니다. 내 질문은 이것입니다 : 어떻게 이런 일이 일어나지 않도록해야합니까?
내가 생각하기에 객체의 상태를 웹 양식에서 전송 된 매개 변수로 수정하기 전에 개체를 저장하는 데 필요한 메커니즘이 필요하다. 그런 다음 유효성 검사 실패 후 개체를 이전의 수정 가능하고 수정되지 않은 개체로 복원한다. 존재의 상태.
도움말!
감사합니다, 레
만약 당신이 이미 객체를 가지고 있다면, 당신은 단지 my_obj.reload를 사용하여 데이터베이스로부터 상태를 재로드 할 수 있습니다. – Shadwell
사실, 당신이 만든 오류를 보는 것이 유용 할 수 있습니다. 내 구체적인 경우에는별로 중요하지 않지만, 그것이 미래에 기억해야 할 중요한 포인트입니다. 필자의 경우 모델 컨트롤러의 update 메소드의 else 절에서 model.reload를 호출 할 수 있었고 완벽하게 작동했으며 정확히 찾고자했습니다. –