I would like to limit the results returned by the category_id. I can
manually insert the category_id :conditions => [‘category_id = 1’] but I
would like it to respond to the input from the search form instead.
:conditions => [“category_id like ?”, params[:category_id]+"%"]
:conditions => [“category_id ?”]
I can’t figure this one out.
The view is:
<% form_tag search_dudes_path do -%>
<%= collection_select(:dude, :category_id, Category.all, :id, :name)
%>
.
.
.
Sean S. wrote:
I would like to limit the results returned by the category_id. I can
manually insert the category_id :conditions => [‘category_id = 1’] but I
would like it to respond to the input from the search form instead.
:conditions => [“category_id like ?”, params[:category_id]+“%”]
:conditions => [“category_id ?”]
I can’t figure this one out.
The view is:
<% form_tag search_dudes_path do -%>
<%= collection_select(:dude, :category_id, Category.all, :id, :name)
%>
.
.
.
Why are you using LIKE with a (presumably numeric) ID?
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
It seems most reasonable to me that it would be
:conditions => [“category_id = ?”, category_id]
But that gives me an error.
undefined local variable or method `category_id’ for
#DudesController:0xb6eb3960
[Please quote properly in your replies.]
Sean S. wrote:
It seems most reasonable to me that it would be
:conditions => [“category_id = ?”, category_id]
But that gives me an error.
undefined local variable or method `category_id’ for
#DudesController:0xb6eb3960
So don’t use an undefined variable. This is a Ruby error. It has
nothing to do with your SQL query string.
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
category_id = params[:category_id]
@dudes = Dude.find(:all,
:conditions => [“category_id = ?”, category_id])
This is returning no results.
Sean S. wrote:
category_id = params[:category_id]
@dudes = Dude.find(:all,
:conditions => [“category_id = ?”, category_id])
This is returning no results.
Then there are no results to return. This is the correct syntax.
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
You can also use:
@dudes = Dude.find(:all, :conditions => {:category_id => category_id})
Alight.
:conditions => [“category_id = :category_id”, params[:dude]]