On May 10, 10:06 am, Werner Laude <[email protected]>
wrote:
> Am 10.05.2012 um 09:30 schrieb Frederick Cheung:
>
> >> #coffee
> >> jQuery ($) ->
> >> $("#query").change ->
> >> $.get "search", (data) ->
> >> $("#results").html data
>
> > Your javascript is not actually doing anything with the value of the
> > query text field (take a look at the params received by your code).
>
> SELECT `clients`.* FROM `clients` WHERE (name like '%%')
> => true.. :-(
>
> Can you please tell me some more about.. as I am not really familiar with
> js/coffee
>
> >> $.get "search", (data) ->
>
> As I understand it in (data) should be the value of :query giving it to the
> action search
>
actually, no, here data is the parameter that is passed to your ajax
callback function (which contains the response from the server).
> @clients = Client.where("name like ?", "%#{params[:query]}%")
>
> But this is not happening
When you make an ajax request like that, you need to actually set the
parameters that you want to pass. Right now you're passing no
parameters, so params[:query] is nil
$.get 'search', {query: 'foo'}, (data) ->
...
would result in params[:query] being foo
and
$.get 'search', {query: $('#query').val() }, (data) ->
...
would pass the value of the field with id query (and since this code
is being called from the change event handler attached to the text
field, you can shorten that slightly to $(this).val() instead of $
('#query').val()
Fred
>
> > The get method takes as its optional 2nd argument a map or string of
> > data, ie in your case {query: $(this).val()} (since this is in that
> > event handler, 'this' will be the text field.
>
> This is a little unclear to me.
>
> > You also want to ask rails to render without a layout. You can either
> > do this with render :layout => false or you can set the layout at the
> > controller level
>
> Thanks for your patience.
>
> Werner Laude
> [email protected]
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.