From fcbd32e58164abe62de6730cebb9294890b7f64f Mon Sep 17 00:00:00 2001 From: Dmitry Yu Okunev Date: Tue, 19 May 2015 11:44:38 +0300 Subject: [PATCH] Fixed error: panic: reflect: call of reflect.Value.Field on slice Value --- model_struct.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/model_struct.go b/model_struct.go index 0bbeff76..4ba10ac0 100644 --- a/model_struct.go +++ b/model_struct.go @@ -156,7 +156,11 @@ func (scope *Scope) GetModelStruct() *ModelStruct { if fieldStruct := scopeType.Field(i); ast.IsExported(fieldStruct.Name) { var value reflect.Value if (fieldStruct.Type.Kind() == reflect.Interface) { - value = reflect.ValueOf(reflect.ValueOf(scope.Value).Elem().Field(i).Interface()) + value = reflect.ValueOf(scope.Value).Elem() + if (value.Kind() == reflect.Slice) { + value = value.Index(0) + } + value = reflect.ValueOf(value.Field(i).Interface()) cachable_byScopeType = false } else { value = reflect.Indirect(reflect.ValueOf(scope.Value))