title: ajax Check if Email already exist Ruby on Rails
body: <p>What im trying to do:
  <br/>1.Send data to the server and check if that email exist in the database  and return true if exist and false if it does not exist
  What I have done so far:
  I created this js code that fires on change keyup and paste.</p>
  
  <pre><code>$("#user_email").on('change keyup paste',function(){
          console.log("change?");
      $.post('/checkEmail?email='+$("#user_email").val(),function(data){
  
      }); 
     //this request results to 404 not found.
  });
  </code></pre>
  
  <p>I have this on rake routes</p>
  
  <pre><code>checkEmail POST   /checkemail(.:format)        user#emailcheck
  </code></pre>
  
  <p>routes.rb</p>
  
  <pre><code>Rails.application.routes.draw do
    get 'products/index'
  
    get 'home/index'
  
    # The priority is based upon order of creation: first created -&gt; highest priority.
    # See how all your routes lay out with "rake routes".
  
    # You can have the root of your site routed with "root"
    # root 'welcome#index'
    root 'home#index'
  
    resources :users, :products
  
    # resources :users do
    #   resources :products
    # end
  
    # Example of regular route:
    #   get 'products/:id' =&gt; 'catalog#view'
    post '/checkemail' =&gt; 'users#emailcheck', as: :checkEmail
    # Example of named route that can be invoked with purchase_url(id: product.id)
    #   get 'products/:id/purchase' =&gt; 'catalog#purchase', as: :purchase
  
    # Example resource route (maps HTTP verbs to controller actions automatically):
    #   resources :products
  
    # Example resource route with options:
    #   resources :products do
    #     member do
    #       get 'short'
    #       post 'toggle'
    #     end
    #
    #     collection do
    #       get 'sold'
    #     end
    #   end
  
    # Example resource route with sub-resources:
    #   resources :products do
    #     resources :comments, :sales
    #     resource :seller
    #   end
  
    # Example resource route with more complex sub-resources:
    #   resources :products do
    #     resources :comments
    #     resources :sales do
    #       get 'recent', on: :collection
    #     end
    #   end
  
    # Example resource route with concerns:
    #   concern :toggleable do
    #     post 'toggle'
    #   end
    #   resources :posts, concerns: :toggleable
    #   resources :photos, concerns: :toggleable
  
    # Example resource route within a namespace:
    #   namespace :admin do
    #     # Directs /admin/products/* to Admin::ProductsController
    #     # (app/controllers/admin/products_controller.rb)
    #     resources :products
    #   end
  end
  </code></pre>
  
  <p>my users_controller.rb</p>
  
  <pre><code> def emailcheck
          @user = User.search(params[:email])
   end
  </code></pre>
  
  <p>user.rb mode</p>
  
  <pre><code>class User &lt; ActiveRecord::Base
      validates :terms_of_service, acceptance:{ :accept =&gt; '0'}
       validates_format_of :email, :with =&gt; /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
  
       validates_presence_of :email,:password,:firstname,:lastname,:address,:phonenumber
      has_many :products
  
      def self.search(email)
          if email
              where('email = ?',email).first
          end
  
      end
  end
  </code></pre>
  
  <p>I dont know how to point how to use the method inside my users_controller
  using ajax ang create a response of true or false base on the results.can some one help me do this because im relatively new to ruby on rails</p>
  
  <p>Error Log</p>
  
  <pre><code>POST http://localhost:3000/checkemail?email=sample 404 (Not Found)jQuery.ajaxTransport.send @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:9660jQuery.extend.ajax @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:9211jQuery.each.jQuery.(anonymous function) @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:9357(anonymous function) @ user.self-4e8aa3f9430109eadc33d5aa4fd038041afbf947d7c95717d55caf908ce3f0df.js?body=1:5jQuery.event.dispatch @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:4666jQuery.event.add.elemData.handle @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:4334
  </code></pre>
  
  <p>rails console</p>
  
  <pre><code>Started POST "/checkemail?email=d" for 127.0.0.1 at 2015-07-23 15:18:21 +0800
  
  ActionController::RoutingError (uninitialized constant UserController):
    activesupport (4.2.3) lib/active_support/inflector/methods.rb:261:in `const_get'
    activesupport (4.2.3) lib/active_support/inflector/methods.rb:261:in `block in constantize'
    activesupport (4.2.3) lib/active_support/inflector/methods.rb:259:in `each'
    activesupport (4.2.3) lib/active_support/inflector/methods.rb:259:in `inject'
    activesupport (4.2.3) lib/active_support/inflector/methods.rb:259:in `constantize'
    actionpack (4.2.3) lib/action_dispatch/routing/route_set.rb:72:in `controller_reference'
    actionpack (4.2.3) lib/action_dispatch/routing/route_set.rb:62:in `controller'
    actionpack (4.2.3) lib/action_dispatch/routing/route_set.rb:41:in `serve'
    actionpack (4.2.3) lib/action_dispatch/journey/router.rb:43:in `block in serve'
    actionpack (4.2.3) lib/action_dispatch/journey/router.rb:30:in `each'
    actionpack (4.2.3) lib/action_dispatch/journey/router.rb:30:in `serve'
    actionpack (4.2.3) lib/action_dispatch/routing/route_set.rb:821:in `call'
    rack (1.6.4) lib/rack/etag.rb:24:in `call'
    rack (1.6.4) lib/rack/conditionalget.rb:38:in `call'
    rack (1.6.4) lib/rack/head.rb:13:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/flash.rb:260:in `call'
    rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
    rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/cookies.rb:560:in `call'
    activerecord (4.2.3) lib/active_record/query_cache.rb:36:in `call'
    activerecord (4.2.3) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
    activerecord (4.2.3) lib/active_record/migration.rb:377:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
    activesupport (4.2.3) lib/active_support/callbacks.rb:84:in `run_callbacks'
    actionpack (4.2.3) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/reloader.rb:73:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
    web-console (2.2.1) lib/web_console/middleware.rb:39:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
    railties (4.2.3) lib/rails/rack/logger.rb:38:in `call_app'
    railties (4.2.3) lib/rails/rack/logger.rb:20:in `block in call'
    activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `block in tagged'
    activesupport (4.2.3) lib/active_support/tagged_logging.rb:26:in `tagged'
    activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `tagged'
    railties (4.2.3) lib/rails/rack/logger.rb:20:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/request_id.rb:21:in `call'
    rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
    rack (1.6.4) lib/rack/runtime.rb:18:in `call'
    activesupport (4.2.3) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
    rack (1.6.4) lib/rack/lock.rb:17:in `call'
    actionpack (4.2.3) lib/action_dispatch/middleware/static.rb:116:in `call'
    rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
    railties (4.2.3) lib/rails/engine.rb:518:in `call'
    railties (4.2.3) lib/rails/application.rb:165:in `call'
    rack (1.6.4) lib/rack/lock.rb:17:in `call'
    rack (1.6.4) lib/rack/content_length.rb:15:in `call'
    rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
    /home/admin-new/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
    /home/admin-new/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
    /home/admin-new/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
  </code></pre>