func (m *Vocaloid) Process(app *kocha.Application, c *kocha.Context, next func() error) error { vocaloids, err := model.AllVocaloids() if err != nil { return err } selectedVocaloids := m.selectedVocaloids(c, vocaloids) keys := make([]string, len(selectedVocaloids)) for i, v := range selectedVocaloids { keys[i] = v.Key } c.Data = map[string]interface{}{ "Vocaloids": vocaloids, "SelectedVocaloids": selectedVocaloids, "SelectedKeys": keys, } return next() }