signature from book:
IS_IN_DB(db, 'person.id', '%(name)s', zero=T('choose one'))
can also be:
IS_IN_DB(db(query), 'person.id', '%(name)s', zero=T('choose one'))

You have:
IS_IN_DB(db(db.categories.parent_table==request.args(0)),'categories.id','c
ategories.name')

Should be:
IS_IN_DB(db(db.categories.parent_table==request.args(0)),'categories.id','%
(name)s')




On Nov 21, 10:17 am, tsvim <ttm...@gmail.com> wrote:
> Ok, now that this works seems I'm still in trouble.
> The page I'm loading is one that has a table that I'm trying to make
> clickable and a form to enter more data.
> Here is the controller:
>
> @auth.requires_login()
> def budget():
>     db.expense.parent_table.default = request.args(0)
>     db.expense.category.requires =
> IS_IN_DB(db(db.categories.parent_table==request.args(0)),'categories.id','c 
> ategories.name')
>     form = crud.create(db.expense)
>     expenses = db(db.expense.parent_table==request.args(0)).select()
>     return dict(user=auth.user.first_name, expenses=expenses, form=form)
>
> def edit_expense():
>     return repr(request.vars.id)
>
> My view:
> <table>
>   <tr>
>     <th>Date and Time</th>
>     <th>Title</th>
>     <th>Category</th>
>     <th>Amount</th>
>     <th>Source</th>
>   </tr>
>
>   {{ for expense in expenses: }}
>
>   <tr class="expenses"
>       id="{{=expense.id}}"
>       onmouseover="jQuery(this).attr(style.backgroundColor='lightgrey')"
>       onmouseout="jQuery(this).attr(style.backgroundColor='white')"
>   >
>     <td>{{=expense.datetime}}</td>
>     <td>{{=expense.title}}</td>
>     <td>{{=expense.category.name}}</td>
>     <td>{{=expense.amount}} {{=expense.denomination}}</td>
>     <td>{{=expense.source}}</td>
>   </tr>
>   {{pass}}
> </table>
>
> <hr />
>
> {{=form}}
>
> <script>
> $(document).ready(function () {
>      $('.expenses').click(function(){
>           ajax('edit_expense?id=' + $(this).attr('id'), [], '#target')
>      });});
>
> </script>
>
> <div id="target"></div>
>
> I added the AJAX script to have it return to edit_expense the id of the row
> that was clicked but I get an error about the crud.create line in my
> controller.
>
> Thanks again for your help.
>
> Tsvi

Reply via email to