I have followed this tutorial to set up a basic Rails 4 application with Mongoid and Mongodb.
I have Passenger set up on the server for deployment. When I go to domain.com:3000 the application works. Also when I go to domain.com:28017 it shows that mongodb is working.
In all the examples/tutorials I can find the application is hosted at localhost:3000 whereas I am trying to deploy to my actual domain.
When I go to domain.com I get the following error message:
Problem: No sessions configuration provided. Summary: Mongoid's configuration requires that you provide details about each session that can be connected to, and requires in the sessions config at least 1 default session to exist. Resolution: Double check your mongoid.yml to make sure that you have a top-level sessions key with at least 1 default session configuration for it. You can regenerate a new mongoid.yml for assistance via `rails g mongoid:config`. Example: development: sessions: default: database: mongoid_dev hosts: - localhost:27017 (Mongoid::Errors::NoSessionsConfig)
The issue appears to be my mongoid.yml file which is as follows:
development: # Configure available database sessions. (required) sessions: # Defines the default session. (required) default: # Defines the name of the default database that Mongoid can connect to. # (required). database: myapp_development # Provides the hosts the default session can connect to. Must be an array # of host:port pairs. (required) hosts: - localhost:27017 options: # Change whether the session persists in safe mode by default. # (default: false) # safe: false # Change the default consistency model to :eventual or :strong. # :eventual will send reads to secondaries, :strong sends everything # to master. (default: :eventual) # consistency: :eventual # How many times Moped should attempt to retry an operation after # failure. (default: 30) # max_retries: 30 # The time in seconds that Moped should wait before retrying an # operation on failure. (default: 1) # retry_interval: 1 # Configure Mongoid specific options. (optional) options: # Enable the identity map, needed for eager loading. (default: false) # identity_map_enabled: false # Includes the root model name in json serialization. (default: false) # include_root_in_json: false # Include the _type field in serializaion. (default: false) # include_type_for_serialization: false # Preload all models in development, needed when models use # inheritance. (default: false) # preload_models: false # Protect id and type from mass assignment. (default: true) # protect_sensitive_fields: true # Raise an error when performing a #find and the document is not found. # (default: true) # raise_not_found_error: true # Raise an error when defining a scope with the same name as an # existing method. (default: false) # scope_overwrite_exception: false # Skip the database version check, used when connecting to a db without # admin access. (default: false) # skip_version_check: false # Use Active Support's time zone in conversions. (default: true) # use_activesupport_time_zone: true # Ensure all times are UTC in the app side. (default: false) # use_utc: false test: sessions: default: database: myapp_test hosts: - localhost:27017 options: consistency: :strong # In the test environment we lower the retries and retry interval to # low amounts for fast failures. max_retries: 1 retry_interval: 0
How is this issue usually resolved? Thanks in advance