I am trying to monkey-patch the ActiveRecord::Base class to incorporate
a generic search class method so that it can be used by all model
classes which need this functionality.  Since model classes directly
inherit from ActiveRecord::Base and unlike controllers and helpers, do
not have an ancestor class defined, I think I am forced to open the
ActiveRecord::Base class and patch it?  May be I am wrong.  Anyway, here
is my code in the active_record_extensions.rb file that I created in the
RAILS_ROOT/lib directory:

module ActiveRecord

  class Base
    def self.search(search, current_page)
      if search.blank?
        paginate(:all, :page => current_page || 1, :per_page => 5)
      else
        paginate(:all, :conditions => ["name LIKE ?", "%#{search}%"],
:order => 'name',
          :page => current_page || 1, :per_page => 5)
      end
    end
  end

end

Note that paginate method comes from the will_paginate plugin installed
in vendor/plugins directory.

This does not work.  My program is having trouble with the paginate
method from will_paginate plugin being called in the code shown above?

This seems to be a load_path issue?  One way to solve this is to install
will_paginate as a gem and then require it before calling paginate?  But
is there a way to make with work as a plugin as I have it currently for
creating this generic routine?

Thanks for your time in advance.

Bharat
-- 
Posted via http://www.ruby-forum.com/.

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

Reply via email to