Forum: Ruby on Rails Tokeninput incremental search not working

Posted by Soichi Ishida (soichi)
on 2012-11-30 05:57
Rails 3.1.3

After watching
 http://railscasts.com/episodes/258-token-fields?au...
I have installed the similar functionality to my app.

However,

    def index
        @cities = City.all
        ...

does in fact give the list of all cities in the text field, but

     def index
        @cities = City.where("name like ?", "%#{params[:q]}%")
        ...

does NOT search cities at all.

Since above case works (though not incremental filter), the problem must
be the second query part.
But I don't see any problem in the where clause.  It does not raise any
errors at all. Simply, puts

"No results"

Can you guess where the problem is?

soichi
Posted by Jim ruther Nill (jimboker)
on 2012-11-30 06:17
(Received via mailing list)
On Fri, Nov 30, 2012 at 12:57 PM, Soichi Ishida 
<lists@ruby-forum.com>wrote:

>         ...
> be the second query part.
> But I don't see any problem in the where clause.  It does not raise any
> errors at all. Simply, puts
>
> "No results"
>

City.all returns all cities. The second query matches the city name to
params[:q].
If params[:q] is empty, it will return all cities (at least that's what 
I
get when I
tried it on the console using postgre).  If it isn't empty, it will 
match
for cities whose
names match params[:q].  If you're using postgre, you may want to use 
ilike
for
case insensitive matching.


> "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>


--
Posted by Colin Law (Guest)
on 2012-11-30 10:16
(Received via mailing list)
On 30 November 2012 04:57, Soichi Ishida <lists@ruby-forum.com> wrote:
>         ...
>
> does in fact give the list of all cities in the text field, but
>
>      def index
>         @cities = City.where("name like ?", "%#{params[:q]}%")
>         ...
>
> does NOT search cities at all.

If you look in log/development.log it will show you the database query
being run.  If you still can't see the problem then post the section
of the log for that action (including the query).

Colin
Posted by Ricardo do Valle (Guest)
on 2013-05-10 10:40
(Received via mailing list)
Hi Colin,

Cold you help me?
I got the same error, because params[:q] is empty.
How did you solve?

Thanks,
Ricardo.

Em sexta-feira, 30 de novembro de 2012 07h15min12s UTC-2, Colin Law
escreveu:
Posted by Colin Law (Guest)
on 2013-05-10 10:48
(Received via mailing list)
On 10 May 2013 05:11, Ricardo do Valle <ricardodovalle@gmail.com> wrote:
> Hi Colin,
>
> Cold you help me?
> I got the same error, because params[:q] is empty.
> How did you solve?

I did not solve it, I was just suggesting the route to go to diagnose
the problem.  If you cannot see why params[:q] is empty then I suggest
starting a new thread and explaining the problem you are having.

If you are a beginner, however, then I suggest working right through a
good tutorial such as railstutorial.org (which is free to use online)
first in order to understand the basics of rails.

Colin
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.