check box tag binding between controller and the view

I am new to RoR. The problem i am facing is that that i have a few check
box and initially when i run my app for the first time i want them all
to be selected while for every next time i want it to have the last
checked boxes checked. To do this, In my controller i have

     @all_ratings = Movie.all_ratings
     @selected_ratings = []
     if !params[:ratings].nil?
       params[:ratings].each_key do |key|
         @selected_ratings << key
       end
     elsif
       @selected_ratings = @all_ratings
     end

While my model looks something like

    class Movie < ActiveRecord::Base
      def self.all_ratings
        @all_rating = ['G', 'PG', 'PG-13', 'R']
      end
    end

and the form looks something like this

    Include:
      - @all_ratings.each do |rating|
        = rating
        = check_box_tag "ratings[#{rating}]", 1,
rating==@selected_ratings.each{|s_rating|}
      = submit_tag 'Refresh', :id => "ratings_submit"

Now what i am trying to do in the controller is that that i wanted to
see if the param is empty if it is then i want to check all the values
so i create an instance variable @selected_ratinngs and pass all values
of rating into. If i have some values selected from the the checkbox
then i save those values in the selected_ratings.

In the view I am planning to use the selected_rating and in the
check_box_tag want to compare the selected_rating with rating to see if
its already there then the checked parameter is true otherwise.

After such a lenghty description, i want to add that this does not work
as planned any ideas.

First have a look at the Rails Guide on Debugging. That will give you
ideas on how to debug your code in order to work out what is going
wrong. Then you should be able to see which bit of your code is not
working. Come back once you have narrowed it down to a particular bit
of code if it is still not working.

Colin

this worked for me

    = check_box_tag "ratings[#{rating}]", 1, (@selected_ratings.include?
rating)