Rails Engine + Mongoid: Aucune configuration n'a pu être trouvée pour une session nommée 'default'
J'ai créé un Rails de Montage Application et ajouter 'mongoid" et "rspec' du gem. Si j'essaie de lancer mon spécifications maintenant, je reçois l'erreur suivante:
Mongoid::Errors::NoSessionConfig:
Problem:
No configuration could be found for a session named 'default'.
Summary:
When attempting to create the new session, Mongoid could not find a session configuration for the name: 'default'. This is necessary in order to know the host, port, and options needed to connect.
Resolution:
Double check your mongoid.yml to make sure under the sessions key that a configuration exists for 'default'. If you have set the configuration programatically, ensure that 'default' exists in the configuration hash.
Lorsque j'ajoute le Mongoid.load!(Rails.root.join("config", "mongoid.yml"))
ligne spec_helper.rb
tout fonctionne normalement.
Pourquoi et comment puis-je obtenir la fonctionnalité comme dans une application Rails normale où je n'ai pas besoin d'appeler la fonction de charge?
mongoid.yml
development:
sessions:
default:
database: dummy_development
hosts:
- localhost:27017
options:
options:
test:
sessions:
default:
database: dummy_test
hosts:
- localhost:27017
options:
consistency: :strong
max_retries: 1
retry_interval: 0
Versions:
gem 'rails', '~> 3.2.12'
gem 'mongoid', '~> 3.1'
gem 'rspec-rails', '~> 2.13'
source d'informationauteur wintersolutions | 2013-03-12
Vous devez vous connecter pour publier un commentaire.
vous avez probablement raté
require 'rails/mongoid'
dans votre spec_helper.rb.rb fichier.Avait quelqu'un ayant le même problème ici https://github.com/mongoid/mongoid/issues/2894#issuecomment-14903927
Essayer d'ajouter de la qui nécessitent, cela devrait résoudre le problème.
C'est probablement à cause de simultanément deux conditions: ( il n'y a pas de section de production dans mongoid.yml ) ET ( Heroku traite applications Rails de la production par défaut ).
Fixation, ni un seul suffit.
1. Il n'y a pas de section de production dans mongoid.yml
Ajouter de la section de la production et de mongoid.yml, comme l'explique l' Heroku , par exemple
2. Heroku traite applications rails de la production par défaut
Ensemble Heroku environnement de développement, ou ajouter un nouvel environnement, qui serait spécifique à Heroku, comme l'explique l' Herokupar exemple
Cela a fonctionné pour moi sur ma machine
1: Ajouter ceci à votre fichier de configuration config/application.rb
2: Et de changer votre mongoid.yml, par exemple (Uniquement pour les mongoid version < 5):
Ce
:
Et de redémarrer le serveur après avoir fait des changements de mongoid.yml
J'ai trouvé ce travail - avis, il n'y a pas de "séances", des "clients"