Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file lib/autocomplete_locations
. To experiment with that code, run bin/console
for an interactive prompt.
TODO: Delete this and the text above, and describe your gem
Add this line to your application's Gemfile:
gem 'autocomplete_locations', github: 'https://github.com/elitmus/autocomplete_locations', branch: 'master'
And then execute:
$ bundle
Mount it in routes.rb:
mount AutocompleteLocations::Engine => "/"
Load javascript file in application.js:
//= require autocomplete_locations/location_autocomplete
Run rake task:
$ rake location_fixes:init_autocomplete_locations_module
$ rake db:migrate
$ rake location_fixes:update_locations
Add these lines if they don't exist
In your Gemfile
gem 'jquery-rails'
gem 'jquery-ui-rails'
In your application.js
//= require jquery
//= require jquery-ui
And in application.css
*= require jquery-ui
To add location as a reference to your table:
$ rake location_fixes:add_location_to_table table='TableName'
If the table is already populated with some city name:
$ rake location_fixes:update_location_to_model model='ModelName' column='city_column_name'
For a model having autocomplete_location_id, search query can be concatenated for finding cities with same city_id:
ModelName.at_city_id(autocomplete_location_id)
But before saving or searching using the city_id obtained from the form, validate it's location first and then fetch id again using:
ModelName.city_id(location_column_value) #use this autocomplete_location_id
Enabling javascript on an autocomplete_field:
$("#city_input_field_id").locationAutocomplete(data, "#hidden_city_id_field", "#city_input_field_id", "#state_field_id option");
In your factories.rb, require autocomplete_location gem's factories.
require 'autocomplete_locations/factories'
For each tables with autocomplete_location_id as a foreign key, add this line:
autocomplete_location_id { create(:autocomplete_locations).id }
After checking out the repo, run bin/setup
to install dependencies.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags.
Bug reports and pull requests are welcome on GitHub at https://github.com/elitmus/autocomplete_locations.
Problems: What if same city name exist in different states%