I already have this function as follows:
@expose('abapp.templates.abbreak_type.new')
def new(self, *args, **kw):
tmpl_context.form = create_abbreak_type_form
return dict(modelname='ABBreakType', page='New AB Break Type')
On Aug 5, 1:11 pm, "Diez B. Roggisch" <[email protected]> wrote:
> On Wednesday 05 August 2009 17:59:34 shaw1ea wrote:
>
>
>
> > I get an error message stating that the index that I pass to the edit
> > function in the controller is an unexpected input field. Any one have
> > any ideas what might cause this? This looks like a validation message
> > in red letters. I thought that the name of the index was conflicting
> > with a field name on the form so I changed the name of the index and
> > still got the problem. This happens in all of my RestControllers. I
> > had all of the CRUD working at one time. Then the edit functions
> > stopped working. Create, read, and delete still work. It is only the
> > edit (update) part that stopped working. Furthermore, if I comment
> > out the @validate line directly above the edit function in the
> > controller then I no longer get the error message. In the code below
> > the index is 'abbreak_type_id'. This is what the error message says
> > is the unexpected input field.
>
> > Causes error
> > @validate(create_abbreak_type_form, error_handler=new)
> > @expose()
> > def put(self, abbreak_type_id, *args, **kw):
> > ab_break_type = DBSession.query(BreakType).get
> > (abbreak_type_id)
> > ab_break_type.break_type = kw['break_type']
> > redirect(url('../'))
>
> > No Error
> > #...@validate(create_abbreak_type_form, error_handler=new)
> > @expose()
> > def put(self, abbreak_type_id, *args, **kw):
> > ab_break_type = DBSession.query(BreakType).get
> > (abbreak_type_id)
> > ab_break_type.break_type = kw['break_type']
> > redirect(url('../'))
>
> Your problem is not the put-function, but instead the error_handler, that you
> don't show us.
>
> If an error_handler is present, it get's passed the *same* arguments as the
> action that was supposed to take the validated data.
>
> So
>
> @expose(...)
> def new(self, *args, **kwargs):
> ....
>
> should do the trick.
>
> Diez
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---