I am using scriptaculous ajax autocompletion (not local autocompletion).
I have 2 questions:
1 - The database query being sent to the server always has LIMIT 10. I
don’t want to have a limit, but I just can’t for the life of me find
where this limit is set in the code. I did see “choices: 10” in
controls.js but that’s for autocompleter.Local, which I don’t use, and
changing it has no effect. Also, I can’t see setting the limit as being
a part of the options array. How do I remove it?
2 - I am debating whether to use the ajax or local autocompletion. The
autocomplete values are to be retrieved from a table with about 2000
values, that don’t change frequently at all. On one hand I don’t want to
use ajax since it involves a lot of db queries, and on the other hand,
with local, I don’t know if injecting about 2000 values (avg 10 bytes
each) into the page is a good idea (or is it not a big deal?). Any
advice?
On Fri, Jun 02, 2006 at 02:37:24AM +0200, Alon G. wrote:
2 - I am debating whether to use the ajax or local autocompletion. The
autocomplete values are to be retrieved from a table with about 2000
values, that don’t change frequently at all. On one hand I don’t want to
use ajax since it involves a lot of db queries, and on the other hand,
with local, I don’t know if injecting about 2000 values (avg 10 bytes
each) into the page is a good idea (or is it not a big deal?). Any
advice?
If the data don’t change during the lifetime of the page input form,
you’re only talking about 20k … which is probably less than one of the
image files you’re probably using elsewhere
You could decide to minimise that 20k by using some sort of unique
pruning/compression, and expand the list when it gets to the client end,
but that sounds like too much hard work Just enabling compression in
yout HTTP server will probably achieve greater savings
If the data don’t change during the lifetime of the page input form,
you’re only talking about 20k … which is probably less than one of the
image files you’re probably using elsewhere
For full generality the contract is you write an action with
“auto_complete_for” prepended to the model and attribute names like
this, given you want to autocomplete for :card, :back in the form: