Fixed error: panic: reflect: call of reflect.Value.Field on slice Value

This commit is contained in:
Dmitry Yu Okunev 2015-05-19 11:44:38 +03:00
parent 9d2c0adaa1
commit fcbd32e581
No known key found for this signature in database
GPG Key ID: AD8AE40C8E30679C

View File

@ -156,7 +156,11 @@ func (scope *Scope) GetModelStruct() *ModelStruct {
if fieldStruct := scopeType.Field(i); ast.IsExported(fieldStruct.Name) { if fieldStruct := scopeType.Field(i); ast.IsExported(fieldStruct.Name) {
var value reflect.Value var value reflect.Value
if (fieldStruct.Type.Kind() == reflect.Interface) { 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 cachable_byScopeType = false
} else { } else {
value = reflect.Indirect(reflect.ValueOf(scope.Value)) value = reflect.Indirect(reflect.ValueOf(scope.Value))