Tuesday, March 13, 2012

[Rails] rails check_box_tag

rails newbie need help with form.
I have a movie application. In the index I list all the movies and in
addition i have ratings check boxes for (R, PG, PG-13, G)
basically when you check a box and submit, the page should refresh
with movies with the chosen rating. So if you check R,PG; only movies
rated R and PG should be displayed.
At the moment, when i check any box and submit the query seems to work
but no movies are returned. When i checked the log this is what i get.

Parameters: {"utf8"=>"✓", "ratings"=>{"R"=>"on"}}
Movie Load (0.1ms) SELECT "movies".* FROM "movies" WHERE (rating
LIKE'---
- R
- ''on''
')

here's my movie.rb model code.
def self.checkBoxTest(ratings)
if ratings
where('rating LIKE?', ratings)
else
scoped
end
end

note: using haml for views:
index.html.haml
%h1 All Movies
= form_tag movies_path, :method => :get do
Include:
- @all_ratings.each do |rating|
="#{rating}"
= check_box_tag "ratings[#{rating}]", params[:ratings]
= submit_tag 'Refresh', :name => nil
%table#movies

def index
@movies = Movie.order(sort_column)
@movies = Movie.checkBoxTest(params[:ratings])
@all_ratings = Movie.find_all_rating
end
here's my controller index method

--
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate