내 게임의 리더 보드를 만들기위한 첫 걸음으로 Unity3d에서 웹 서버에 데이터를 게시하는 방법을 배우고 있습니다. 바로 지금 Unity에 매우 간단한 스크립트가있어서 내 서버에 이름과 점수를 게시합니다. PostScoreURL은 레일스 (POST로 전송 된 경우)의 작성 작업에 매핑됩니다. 그것은 매우 간단하지만 기본적인 수준에서 작동합니다.Unity3d에 의미있는 오류 메시지 제공하기 레일에서 오는 WWW.error
Unity에는 서버에 POST 할 때 사용하는 WWW 클래스가 있습니다. 이 클래스에는 오류 속성이 있지만 항상 500 내부 서버 오류가 발생합니다. 사용자가 성공적으로 작성되었거나 유효성 검증 문제점으로 인해 사용자가 작성되지 않은 경우이 오류가 발생합니다. 사용자에게 무슨 일이 일어나는지 알 수 있도록 더 의미있는 오류 메시지를 Unity에 다시 보낼 수 있도록 Rails 응용 프로그램에 추가하고 싶습니다. 예를 들어, 이미 존재하는 사용자를 만들려고하면 다른 이름을 사용해야한다는 알림을 받게됩니다. 여기
내 코드입니다 : 유니티 스크립트 : 레일 앱에서string PostScoreURL = "http://localhost:3000/users";
string name = "Melanie";
int score = 8732;
WWW www;
bool requestSent = false;
void OnGUI()
{
if (GUI.Button(new Rect(0, 0, 100, 100),"Post Score"))
{
WWWForm form = new WWWForm();
form.AddField("user[name]", name);
form.AddField("user[score]", score);
www = new WWW(PostScoreURL,form);
requestSent = true;
}
if(requestSent && www.isDone)
{
print (www.error);
requestSent = false;
}
}
: user.rb : 여기
class User < ActiveRecord::Base
attr_accessible :name, :score
validates_presence_of :name, :score
validates_uniqueness_of :name
end
내 생성 조치 :
def create
@user = User.new(params[:user])
@user.save
end
관련 오류 메시지를 Unity에 다시 보내고 싶습니다. 예 : 누락 된 사용자 이름, 누락 된 점수, 사용자 이름.
어디에서 개발자 앱을 실행하고 계십니까? –
Unity 에디터에서 방금 실행했습니다. –