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 <[email protected]> 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