Я добавил репликации в моей производственной части Mongoid, как показано ниже:Mongoid репликации Config вызывает ArgumentError
production:
hosts:
- - <%= ENV['MONGO_URL1'] %>:<%= ENV['MONGO_PORT'] %>
- - <%= ENV['MONGO_URL2'] %>:<%= ENV['MONGO_PORT'] %>
read: :secondary
username: <%= ENV['MONGO_USERNAME'] %>
password: <%= ENV['MONGO_PASSWORD'] %>
database: <%= ENV['MONGO_DATABASE'] %>
max_retries_on_connection_failure: 10
Это работает в производстве на Heroku, но локально, это вызывает мой сервер сбой при запуске дает ошибку:
ROOT /Users/bashar/rails-projects/my-project /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/syck.rb:135:in
load': syntax error on line 13, col 9:
- - :' (ArgumentError) from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/syck.rb:135:inload' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/mongoid-2.4.7/lib/mongoid/railtie.rb:83:in
block in ' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:ininstance_exec' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in
run' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:55:inblock in run_initializers' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in
each' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:inrun_initializers' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:96:in
initialize!' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:inmethod_missing' from /Users/bashar/rails-projects/my-project/config/environment.rb:5:in
' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:inrequire' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in
block in require' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:inblock in load_dependency' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in
new_constants_in' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:inload_dependency' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in
require' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:83:inrequire_environment!' from /Users/bashar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:39:in
' from script/rails:6:inrequire' from script/rails:6:in
' ~/rails-projects/my-project/ [master]
Я использую Rails 3.1.3 Монго 1.6.2 Mongoid 2.4.9 MongoDB версия 2.0.2
Любая идея?
Спасибо за объяснение. По какой-то причине ничья не работала, но я создал массив, как вы предложили, и это сработало. Я угадываю некоторые проблемы с поддержкой версии в одном из моих драгоценных камней. –
ОК, это странно. Он работал локально, но затем не работал в производстве. Напротив:/ –
@BasharAbdullah Возможно ли, что ваша локальная среда для разработчиков не имеет того же технологического стека (версии gem, рельсы, mongodb и т. Д.) Как производство, и это вызывает проблему. Я бы начал с рассмотрения различий и попыток изолировать проблему оттуда. – rubish