Hi,
I've seen an unexpected 'SQLTABLE linkto' behaviour (both at 2.8.2 and
trunk version):
In a controller:
def sqltablelinkto():
db = DAL('sqlite:memory:')
db.define_table('parent',Field('name'))
db.parent.insert(name='Parent1')
db.parent.insert(name='Parent2')
l = URL('')
return CAT(H5('request.args=%s' % request.args),
H5('request.vars=%s' % request.vars),
SQLTABLE(db(db.parent).select(), linkto=l))
This works as expected when you click at the id links: name of table and id
of record are passed to args, and nothing to vars. URLs are formed like
this: http://.../sqltablelinkto/parent/1
But if you want to pass something in vars, things get weird.
Change the url line to:
l = URL('', vars=dict(data='data in vars'))
Now, when you click at the id links, you get NOTHING at request.args, and
all the info is mixed up at request.vars: 'data': 'data in vars/parent/1'
The formed url shows the
reason: http://.../sqltablelinkto?data=data+in+vars/parent/1
I expected this url to be formed:
http://.../sqltablelinkto/parent/1?data=data+in+vars
so you'll get args and vars stored properly.
Am i doing something wrong or should i open a bug ticket?.
Thanks!
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.