javascript - AJAX calls in Ruby : error 404 -
i'm new of ruby , web development, i've searched lot problem still not figured out.
i have button :
<button type="button" class="btn btn-primary" onclick="add()">add</button> that call ajax function :
<script> function add() { $.ajax({ type : "get", url : "civil_defence_alerts/checkerror", data: null, success: function (data) { alert(data); } } ) } </script> in "civil_defence_alerts_controller" defined method named check_error :
def check_error #some code... end now, when click button ajax call fails because cannot find check_error method (error 404), i've tried different routes.rb configurations... it's driving me crazy!
thank guys, , sorry english :d
edit, routes.rb :
myapp::application.routes.draw mount ckeditor::engine => '/ckeditor' 'site/index' apipie mount browserlog::engine => '/logs' "home/index" devise_for(:users, :controllers => { :passwords => 'password'}) devise_for(:admins, controllers: {registrations: 'admins/registrations'}) match 'admin', to: "admin/municipalities#index", via: [:get, :post] resources :calendars resources :garbage resources :news, only: :show resources :events, only: :show resources :municipalities resources :editable_strings 'misc/password_reset' namespace :admin 'superadmin_dashboard/index' 'superadmin_dashboard/activities' 'superadmin_dashboard/issues' root to: 'dashboard#index' resources :push_notifications, only: [:index, :show] resources :rss_importer_logs, only: [:index, :show] resources :poi_importer_logs, only: [:index, :show] resources :features resources :strategies end resources :api_call_logs, only: [:index, :show] require 'sidekiq/web' require 'sidekiq/cron/web' # require 'sidetiq/web' authenticate :admin mount sidekiq::web => '/workers' end 'dashboard/index' 'misc/test_notification' post 'misc/test_notification_send' resources :documents resources :frontends, except: [:show, :destroy] resources :operators resources :users, only: [:index, :show, :destroy] resources :municipalities resources :attachments collection 'tinymce' post 'tinymce' end end 'dashboard/index' post 'dashboard/more_information' collection 'activate_municipality' post 'activate' end member 'suspend' 'reactivate' end resources :admins member 'log' 'logs' end end resources :calendar_types resources :calendars resources :garbage_category_rules member 'manage' 'occurrences' 'download' end end resources :civil_defence_alerts collection post 'update_alert' post 'add_alert' 'get_alerts' end end resources :civil_defence_phone_numbers resources :civil_defence_informations resources :documents resources :events member 'push_modal' post 'push' end end resources :event_categories, except: [:show] resources :ckan_resources, except: [:show] resources :ckan_resource_logs, only: [:index] member 'run' end end resources :garbage resources :garbage_categories resources :garbage_collections resources :issues resources :issue_comments resources :issue_emails collection 'export' end member delete 'really_delete' 'restore' 'unlink' end end resources :issue_statistics, only: [:index] resources :logs, :only => [:index, :show] resources :menus, :only => [] resources :menu_items collection post 'update_order' end end end resources :municipality_services, except: [:show] resources :site_menus, :only => [] resources :site_menu_items collection post 'update_order' end end end resources :municipality_sections, :only => [:index, :edit, :update] resources :municipality_settings, :only => [:index, :edit, :update] resources :news member 'push_modal' post 'push' end collection 'update_from_feed' end end resources :issue_categories resources :news_categories resources :point_of_interests resources :point_of_interest_categories resources :point_of_interest_categorie_with_childrens resources :pages collection post 'update_order' end end resources :site_pages collection post 'update_order' end end resources :recycling_areas resources :site_blocks collection post 'update_order' post 'set_preferences' end end resources :site_header_images collection post 'update_order' end end resources :site_settings, :only => [:index, :edit, :update] collection 'remove_site_logo' end end resources :sponsors resources :subdomains resources :surveys resources :tags, only: [:index] resources :zones end resources :calendar_type_icons resources :garbage_category_icons resources :point_of_interest_category_icons resources :provinces, only: [:index, :edit, :update] resources :regions, only: [:index, :edit, :update] end # api access namespace :api, :defaults => {:format => 'json'} scope "(:frontend)", frontend: /site|tourism|municipium/, defaults: {frontend: 'municipium'} api_version(:module => "v1", :path => {:value => "v1"}, :defaults => {:format => "json"}, :default => true) devise_for(:users, :controllers => {:sessions => "api/v1/sessions", :registrations => "api/v1/registrations"}) resources :calendar_types, :only => [:index] resources :calendars, :only => [:index, :show] collection 'last_update' end member 'last_update' end end resources :devices, :only => [:index, :show] collection post 'remove' post 'add' post 'replace' 'count' post 'update' end end resources :garbage_categories, :only => [:index, :show] collection 'last_update' end end resources :garbage_collections, :only => [:index] resources :garbage_subscriptions, :only => [:index] collection post 'remove' post 'add' end end resources :events, :only => [:index, :show] resources :event_categories, :only => [:index, :show] resources :issues resources :issue_categories, :only => [:index] resources :municipalities, :only => [:index, :show] resources :municipality_subscriptions, :only => [:index] collection post 'add' post 'remove' post 'set_as_primary' end end resources :news_categories, :only => [:index, :show] resources :news_subscriptions, :only => [:index] collection post 'remove' post 'add' end end resources :news, :only => [:index, :show] resources :pages, :only => [:index, :show] resources :point_of_interest_categorie_with_childrens resources :point_of_interest_categories, :only => [:index] resources :point_of_interests, :only => [:index, :show] end resources :point_of_interests, :only => [:index, :show] resources :recycling_areas, :only => [:index, :show] resources :user_profile, :only => [:index, :show] collection post 'destroy_user' post 'reset_password' post 'update_details' post 'get_details' post 'meta_login' post 'change_password' post 'facebook_login' post 'remove' end end resources :sponsors, only: [:index, :show], defaults: {format: 'json'} resources :surveys member 'get_questions' post 'vote' end end resources :zones, :only => [:index, :show] end api_version(:module => "v2", :path => {:value => "v2"}, :defaults => {:format => "json"}) devise_for(:users, :controllers => {:sessions => "api/v2/sessions", :registrations => "api/v2/registrations"}) resources :admins, only: [:index] collection post 'auth' end end resources :calendars, :only => [:index, :show] collection 'last_update' end member 'last_update' end end resources :civil_defence_alerts, only: [:index] resources :civil_defence_informations, only: [:index, :show] resources :civil_defence_levels, only: [:index, :show] resources :civil_defence_phone_numbers, only: [:index] resources :devices, :only => [:index, :show] collection 'remove' post 'remove' post 'add' post 'replace' 'count' post 'update' post 'device_cleanup' end end resources :garbages, :only => [:index] collection 'last_update' end end resources :garbage_categories, :only => [:index, :show] collection 'last_update' end end resources :garbage_collections, :only => [:index] resources :garbage_subscriptions, :only => [:index, :update] collection post 'remove' 'remove' post 'add' end end resources :events, :only => [:index, :show] resources :event_categories, :only => [:index, :show] resources :events, only: [:index, :show] end resources :issues collection 'migrate' end end resources :issue_categories, :only => [:index] resources :tags, :only => [:index] resources :issue_statistics, :only => [:index] resources :menus, only: [:index, :show] resources :site_menus, only: [:index, :show] resources :municipalities, :only => [:index, :show] collection 'find_by_subdomain' end end resources :municipality_services, only: [:index] resources :municipality_subscriptions, :only => [:index] collection post 'add' post 'remove' post 'set_as_primary' end end resources :news_categories, :only => [:index, :show] resources :news, only: [:index, :show] end resources :news_subscriptions, :only => [:index] collection post 'remove' post 'add' end end resources :news, :only => [:index, :show] resources :pages, :only => [:index, :show] resources :site_pages, :only => [:index, :show] resources :point_of_interest_categorie_with_childrens resources :point_of_interest_categories, :only => [:index] resources :point_of_interests, :only => [:index, :show] end resources :point_of_interests, :only => [:index, :show] resources :public_offices, only: [:index] resources :recycling_areas, :only => [:index, :show] resources :site_blocks, only: [:index, :show] resources :site_header_images, only: [:index] resources :searches, only: [] collection post 'search' 'search' end end resources :user_profile, :only => [:index, :show] collection post 'destroy_user' post 'reset_password' post 'update_details' post 'get_details' post 'meta_login' post 'change_password' post 'social_login' post 'remove' post 'update_access' end end resources :sponsors, only: [:index, :show], defaults: {format: 'json'} resources :surveys member 'get_questions' post 'vote' end collection 'migrate' end end end end end end
add corresponding route check_error method:
resources :civil_defence_alerts collection ... 'check_error' end end and in request need pass corresponding route uri (as you've defined in url option of ajax function), like:
function add() { $.ajax({ url: 'civil_defence_alerts/check_error', success: function (data) { alert(data) } }) } note if request don't need specify it.
Comments
Post a Comment