title: Rails 3 Adding an ActiveRecord Model Method
body: <p>I have the following models but I cannot get the custom method reorder_action_items to work. I am obviously missing something basic.</p>
  
  <pre><code>class ActionList &lt; ActiveRecord::Base
    has_many :action_items
  
    scope :today, lambda { 
      where("day = ?", Date.today)
    }
  
    def self.reorder_action_items(new_order)
      new_order.each_with_index do |item, index|
        ai = self.action_items.find(item)
        ai.sort_order = index
        ai.save
      end
    end
  end
  
  class ActionItem &lt; ActiveRecord::Base
    belongs_to :action_list
  end
  </code></pre>
  
  <p>Here is the action from my controller.</p>
  
  <pre><code>def update_order
    @idlist = params[:id]
    @todays_list = ActionList.today.reorder_action_items(@idlist)
  end
  </code></pre>
  
  <p>Here is the log output for the error.</p>
  
  <pre><code>Started POST "/welcome/update_order" for xxx.xxx.xxx.xx at 2010-07-06 13:50:46 -0500
    Processing by WelcomeController#update_order as */*
    Parameters: {"id"=&gt;["3", "1", "2"]}
    SQL (0.2ms)   SELECT name
   FROM sqlite_master
   WHERE type = 'table' AND NOT name = 'sqlite_sequence'
  Completed   in 14ms
  
  NoMethodError (undefined method `action_items' for #&lt;Class:0xa062cb4&gt;):
  /home/matthew/.rvm/gems/ruby-1.9.2-head/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1041:in `method_missing'
  </code></pre>