J'utilise les pays de la gemme pour renseigner un élément de sélection de pays. Je voudrais ajouter des pays personnalisés à la liste des pays ISO3116 fournis par la gemme.Chargement de données personnalisées dans la gemme Hexorx/pays dans les rails 4.2
Gem: https://github.com/hexorx/countries
J'ai lu le wiki pour le petit bijou de pays. J'ai essayé de suivre les instructions fournies dans la section 'Chargement de données personnalisées'. Malheureusement, leur trop faible pour un nouveau venu comme moi.
Lorsque j'essaie de démarrer un serveur de développement, j'obtiens l'erreur ci-dessous.
Je ne sais pas où je devrais ajouter le code suivant. Je l'ai ajouté à 'config/initializers' parce que selon les guides (http://guides.rubyonrails.org/initialization.html) les fichiers dans ce répertoire sont chargés après les fichiers gem sont chargés lors de l'initialisation de l'application. D'où ma confusion. Au moment où le code ci-dessous est exécuté, la constante 'ISO3116' ne devrait-elle pas être initialisée?
code:
config/initializers/custom_countries.rb
ISO3116::Data.register(
continent: "Europe",
alpha2: "EN",
alpha3: "ENG",
name: "England"
)
fichier Gem
source 'https://rubygems.org'
#default:
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.5.1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
#jQuery plugin for drop-in fix binded events problem caused by Turbolinks
gem 'jquery-turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
#Optional Defaults:
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
#locales, inc en-GB
gem 'rails-i18n'
#OS:
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
#Servers:
#Thin web server, better than stock server
gem 'thin'
#Debugging:
group :development do #Development. Avoid using in production.
#Display compile/runtime errors better in browser
gem "better_errors"
#Required for better_errors advanced features (REPL, variable incpection)
gem "binding_of_caller"
# Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console', '~> 2.0'
end
group :development, :test do #Development & Test Avoid using in production.
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug'
end
#Models:
#Pagination
gem 'kaminari'
#search
gem 'filterrific'
#ISO 3166 countries list
gem 'countries'
gem 'country_select'
#Views:
#animation of page loads
gem "animate-rails"
#Simple Form, for creating froms
gem 'simple_form'
#nested forms
gem 'cocoon'
#Bootstrap, front-end web development framework to inetgrate with rails
gem 'bootstrap-sass', '~> 3.2.0'
#Allow you to write CSS (SASS, LESS etc) rules without vendor prefixes.
gem 'autoprefixer-rails'
#Override the browser default confirmation pop up with a bootsrap modal
gem 'data-confirm-modal'
#Testing:
group :development, :test do
#Exit test-suite execution at first test-failure.
gem 'minitest-fail-fast'
#Takes development database and converts to fixtures for testing
gem 'fixtures_dumper'
#Used to generate fake data
gem 'faker'
end
Erreur du serveur lorsque vous essayez de démarrer
C:\Users\Patrick\Desktop\Consign>rails server -b 0.0.0.0 -p 80
=> Booting Thin
=> Rails 4.2.5.1 application starting in development on http://0.0.0.0:80
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
C:/Users/Patrick/Desktop/Consign/config/initializers/custom_countries.rb:1:in `<
top (required)>': uninitialized constant ISO3116 (NameError)
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/engine.rb:652:in `block in load_config_initializer'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-
4.2.5.1/lib/active_support/notifications.rb:166:in `instrument'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/engine.rb:651:in `load_config_initializer'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/engine.rb:615:in `each'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/engine.rb:615:in `block in <class:Engine>'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/initializable.rb:30:in `instance_exec'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/initializable.rb:30:in `run'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/initializable.rb:55:in `block in run_initializers'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:226:in `block i
n tsort_each'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:348:in `block (
2 levels) in each_strongly_connected_component'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:418:in `block (
2 levels) in each_strongly_connected_component_from'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:427:in `each_st
rongly_connected_component_from'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:417:in `block i
n each_strongly_connected_component_from'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/initializable.rb:44:in `each'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/initializable.rb:44:in `tsort_each_child'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:411:in `call'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:411:in `each_st
rongly_connected_component_from'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:347:in `block i
n each_strongly_connected_component'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:345:in `each'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:345:in `call'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:345:in `each_st
rongly_connected_component'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:224:in `tsort_e
ach'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/tsort.rb:205:in `tsort_e
ach'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/initializable.rb:54:in `run_initializers'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/application.rb:352:in `initialize!'
from C:/Users/Patrick/Desktop/Consign/config/environment.rb:6:in `<top (
required)>'
from C:/Users/Patrick/Desktop/Consign/config.ru:3:in `require'
from C:/Users/Patrick/Desktop/Consign/config.ru:3:in `block in <main>'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/builder.rb:55:in `instance_eval'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/builder.rb:55:in `initialize'
from C:/Users/Patrick/Desktop/Consign/config.ru:in `new'
from C:/Users/Patrick/Desktop/Consign/config.ru:in `<main>'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/builder.rb:49:in `eval'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/builder.rb:49:in `new_from_string'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/builder.rb:40:in `parse_file'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/server.rb:299:in `build_app_and_options_from_config'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/server.rb:208:in `app'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/server.rb:61:in `app'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/rack-1.6.5/lib
/rack/server.rb:336:in `wrapped_app'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/server.rb:139:in `log_to_stdout'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/server.rb:78:in `start'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/commands_tasks.rb:80:in `block in server'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/commands_tasks.rb:75:in `tap'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/commands_tasks.rb:75:in `server'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.5
.1/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Merci, PQ
PS. C'est ma deuxième (peut-être troisième) question que j'ai posée sur StackOverflow. Commentaires bienvenus.