2016-06-08 1 views
0

여기에서 전자 메일 속성을 사용하여 엔터티를 삽입하려고합니다. 브라우저 U에서 db_success가 수신되었음을 알 수 있습니다. 데이터 저장소 뷰어에서 엔티티가 의심스러운 낮은 2 개의 쓰기 방식으로 삽입되었음을 알 수 있으며 엔티티 종류, 엔티티 키 및 ID를 볼 수 있지만 그 밖의 것은 볼 수 없습니다.엔티티를 데이터 저장소에 넣으려고하면 키만 입력하고 연결된 속성은 표시되지 않습니다.

다른 코드는 전자 메일을 기반으로 사용자 액세스를 제한하려는 위치입니다. 나는 이전에 삽입 된 개체의 전자 메일 속성에 데이터 저장소 쿼리를하고 다시 응용 프로그램 항목의 URL로 구성 페이지에 인증 된 계정 및 권한이없는 계정을 재 시도 :

c := appengine.NewContext(r) 
u := user.Current(c) 
if u == nil { 
    http.Redirect(w, r, "/", http.StatusSeeOther) 
} else if user.IsAdmin(c) { 
    io.WriteString(w, admins_choice_html) 
} else { 
    var emails []uemail_struct 
    q := datastore.NewQuery("users").Filter("user_email =", u.Email) 
    _,err := q.GetAll(c,&emails) 
    if err != nil { 
     http.Redirect(w, r, "/", http.StatusSeeOther) 
    } 
    if len(emails) == 0 { 
     url, err := user.LogoutURL(c, "/") 
     if err != nil { 
      http.Error(w, err.Error(), http.StatusInternalServerError) 
      return 
     } 
     w.Header().Set("Location", url) 
     w.WriteHeader(http.StatusFound) 

    } else { 
     http.Redirect(w, r, "/dist/index.html", http.StatusSeeOther) 
    } 
} 

나는 확신이 내 테스트 데이터 사용자 이메일 추가 기능은 괜찮았다. 데이터 [email protected] 이메일 주소에 대한 첫 번째 코드를 실행하고 동일한 [email protected] 이메일 주소에 대해 두 번째 코드를 실행했음을 의미합니다. 필자가 생각할 수있는 유일한 결론은 첫 번째 코드 부분에있는 데이터 저장소가 데이터 저장소에 값 [email protected]을 가진 필수 속성 user_email을 삽입하지 않았다는 것입니다.

답변

1

문제는 단순히 구조체를 정의하는 것이 었습니다. 대신

type uemail_struct{ 
    user_email string 
} 

의 단순히 지금

type Uemail_struct{ 
    User_email string 
} 

수정 프로그램 및 추가 새로운 사용자와 사용자의 로그인 작업을 모두 작성.

관련 문제