func (db *publishController) Diff(context *admin.Context) { resourceID := strings.Split(context.Request.URL.Path, "/")[4] params := strings.Split(resourceID, "__") name, id := params[0], params[1] res := context.Admin.GetResource(name) draft := res.NewStruct() context.GetDB().Set("publish:draft_mode", true).Unscoped().First(draft, id) production := res.NewStruct() context.GetDB().Set("publish:draft_mode", false).Unscoped().First(production, id) results := map[string]interface{}{"Production": production, "Draft": draft, "Resource": res} fmt.Fprintf(context.Writer, string(context.Render("publish/diff", results))) }