-- अभिनव http://twitter.com/abhinav
Make search a class method, ie, define search like this in your model: def self.search(business_name, city) # note "self" ## do something end On Mon, Aug 31, 2009 at 5:39 AM, ji <[email protected]> wrote: > > in my \app\controllers\business_controller.rb: > > class BusinessController < ApplicationController > def search > @businesses = Business.search(params[:businessname], params[:city]) > end > end > > > in my \app\models\business.rb: > > class Business < ActiveRecord::Base > def search(businessname, city) > search_condition = "%" + businessname + "%" > find(:all, :conditions => ['name LIKE ? AND city = ?', > search_condition, search_condition]) > end > end > > When I run my app in firefox, I get: > > NoMethodError in BusinessController#search > > undefined method `search' for #<Class:0x59c69cc> > > RAILS_ROOT: c:/Ruby/Referme > Application Trace | Framework Trace | Full Trace > > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > base.rb:1964:in `method_missing' > c:/Ruby/Referme/app/controllers/business_controller.rb:3:in `search' > > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > base.rb:1964:in `method_missing' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:1322:in `send' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:1322:in `perform_action_without_filters' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > filters.rb:617:in `call_filters' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > filters.rb:610:in `perform_action_without_benchmark' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > benchmarking.rb:68:in `perform_action_without_rescue' > C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/ > core_ext/benchmark.rb:17:in `ms' > C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/ > core_ext/benchmark.rb:10:in `realtime' > C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/ > core_ext/benchmark.rb:17:in `ms' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > benchmarking.rb:68:in `perform_action_without_rescue' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > rescue.rb:160:in `perform_action_without_flash' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > flash.rb:141:in `perform_action' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:523:in `send' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:523:in `process_without_filters' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > filters.rb:606:in `process' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:391:in `process' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:386:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > routing/route_set.rb:433:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:88:in `dispatch' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:111:in `_call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:82:in `initialize' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:29:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:29:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > connection_adapters/abstract/query_cache.rb:34:in `cache' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:9:in `cache' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:28:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > connection_adapters/abstract/connection_pool.rb:361:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/head.rb:9:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/methodoverride.rb:24:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > params_parser.rb:15:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > rewindable_input.rb:25:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > session/cookie_store.rb:93:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > reloader.rb:9:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > failsafe.rb:11:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/lock.rb:11:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/lock.rb:11:in `synchronize' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/lock.rb:11:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:106:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/rack/static.rb: > 31:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/urlmap.rb:46:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/urlmap.rb:40:in `each' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/urlmap.rb:40:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/rack/debugger.rb: > 17:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/rack/ > log_tailer.rb:17:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/content_length.rb:13:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/handler/webrick.rb:46:in `service' > C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' > C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/handler/webrick.rb:13:in `run' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:111 > C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require' > C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `require' > script/server:3 > > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > base.rb:1964:in `method_missing' > c:/Ruby/Referme/app/controllers/business_controller.rb:3:in `search' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:1322:in `send' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:1322:in `perform_action_without_filters' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > filters.rb:617:in `call_filters' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > filters.rb:610:in `perform_action_without_benchmark' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > benchmarking.rb:68:in `perform_action_without_rescue' > C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/ > core_ext/benchmark.rb:17:in `ms' > C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/ > core_ext/benchmark.rb:10:in `realtime' > C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/ > core_ext/benchmark.rb:17:in `ms' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > benchmarking.rb:68:in `perform_action_without_rescue' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > rescue.rb:160:in `perform_action_without_flash' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > flash.rb:141:in `perform_action' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:523:in `send' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:523:in `process_without_filters' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > filters.rb:606:in `process' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:391:in `process' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > base.rb:386:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > routing/route_set.rb:433:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:88:in `dispatch' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:111:in `_call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:82:in `initialize' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:29:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:29:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > connection_adapters/abstract/query_cache.rb:34:in `cache' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:9:in `cache' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > query_cache.rb:28:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ > connection_adapters/abstract/connection_pool.rb:361:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/head.rb:9:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/methodoverride.rb:24:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > params_parser.rb:15:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > rewindable_input.rb:25:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > session/cookie_store.rb:93:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > reloader.rb:9:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > failsafe.rb:11:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/lock.rb:11:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/lock.rb:11:in `synchronize' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/lock.rb:11:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > dispatcher.rb:106:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/rack/static.rb: > 31:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/urlmap.rb:46:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/urlmap.rb:40:in `each' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/urlmap.rb:40:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/rack/debugger.rb: > 17:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/rack/ > log_tailer.rb:17:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/content_length.rb:13:in `call' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/handler/webrick.rb:46:in `service' > C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' > C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' > C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start' > C:/Ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/ > vendor/rack-1.0/rack/handler/webrick.rb:13:in `run' > C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:111 > C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `gem_original_require' > C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > `require' > script/server:3 > > Request > > Parameters: > > {"businessname"=>"sss", > "commit"=>"Search", > "authenticity_token"=>"6otukF4R7SIjMgcXbXyYNFUJZivGGOwSEEsERR/+MHk=", > "location"=>"ss"} > > Show session dump > > --- > > Response > > Headers: > > {"Content-Type"=>"", > "Cache-Control"=>"no-cache"} > > This looks like the Controller cannot find the Search function in my > model, but apparently the function is defined there. So I am sure what > is going on here. > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

