Why are you passing an empty string as action? 

l = URL('', vars=dict(data='data in vars'))

Perhaps you want:

l = URL(args=request.args, vars=dict(data='data in vars'))



On Thursday, 20 February 2014 04:17:47 UTC-6, mcamel wrote:
>
> 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.

Reply via email to