func Save(rw http.ResponseWriter, req *http.Request, r render.Render, params martini.Params) { ctx := appengine.NewContext(req) e := equipment.Equipment{} req.ParseForm() e.Title = req.FormValue("title") e.Description = req.FormValue("desc") delete(req.Form, "title") delete(req.Form, "desc") for _, val := range req.Form { e.Components = append(e.Components, val...) } intID, err := strconv.Atoi(params["id"]) if err == nil { e.ID = int64(intID) } err = e.Save(ctx) if err != nil { http.Redirect(rw, req, "/admin/equipment/"+params["id"]+"?error="+err.Error(), http.StatusFound) return } http.Redirect(rw, req, "/admin/equipment/"+strconv.Itoa(int(e.ID))+"?success=Equipment saved", http.StatusFound) return }