now it works, had to put everything in the right order:
crud.settings.create_next = URL('index')
post=db(db.blog.id==request.args(0)).select().first()
db.comments.post_id.default=post.id
form=crud.create(db.comments)
Thanks again
On Wed, Dec 5, 2012 at 12:55 PM, jonas <[email protected]> wrote:
> Thanks for the reply. I will the section in the book to get a clearer
> understanding of what is happening. Unfortunately both solutions posted here
> didn't work, no redirection or verification.
>
>
> On Monday, December 3, 2012 2:43:23 AM UTC+1, Anthony wrote:
>>
>> Read through the CRUD section of the book again:
>> http://web2py.com/books/default/chapter/29/07#CRUD.
>>
>> Crud automatically handles form processing, so you do not call
>> form.process() after calling crud.create() -- in that case, you are
>> processing the form twice. Instead, crud.create() handles the processing
>> itself. If you want it to redirect, do:
>>
>> crud.settings.create_next = URL('index')
>>
>>
>> as indicated in the book.
>>
>> Anthony
>>
>> On Sunday, December 2, 2012 4:15:51 PM UTC-5, jonas wrote:
>>>
>>> Hi.
>>>
>>> when using the code below redirect and verification doesn't work:
>>>
>>> def comment():
>>>
>>> """ create comment form """
>>>
>>> post=db(db.blog.id==request.args(0)).select().first()
>>> db.comments.post_id.default=post.id
>>> form=crud.create(db.comments)
>>>
>>> if form.process().accepted:
>>> session.flash = T('yes yes')
>>> redirect(URL('index.html'))
>>> else:
>>> print "error"
>>> session.flash = T('no no')
>>> raise HTTP(400, "no form validation")
>>>
>>> return dict(form=form)
>>>
>>> when I remove the if form... else... clause verification works but I
>>> don't have the redirect anymore:
>>>
>>> def comment():
>>>
>>> """ create comment form """
>>>
>>> post=db(db.blog.id==request.args(0)).select().first()
>>> db.comments.post_id.default=post.id
>>> form=crud.create(db.comments)
>>>
>>> return dict(form=form)
>>>
>>> Have no clue why. please help.
>
> --
>
>
>
--