rails中的Mongoid :: Errors :: NoSessionConfig consolse

kil*_*lua 4 ruby-on-rails mongoid ruby-on-rails-4

我克隆rails app(我们的公司项目),然后安装与mongo db和mongoid gem相关的所有内容.然后我运行rake db:setup然后运行rails s.它工作正常,我可以访问所有网站,并做一切.但我在rails控制台遇到了问题.

每当我这样做:

铁轨

然后

User.first
Run Code Online (Sandbox Code Playgroud)

我会得到这个错误

加载开发环境(Rails 4.1.1)irb(main):001:0> User.first Mongoid :: Errors :: NoSessionConfig:问题:找不到名为"default"的会话的配置.简介:
尝试创建新会话时,Mongoid无法找到名称的会话配置:'default'.这是了解连接所需的主机,端口和选项所必需的.解决方法:仔细检查您的mongoid.yml,以确保在sessions键下存在"default"配置.如果以编程方式设置了配置,请确保配置哈希中存在"default".来自/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/sessions/factory.rb:27:in create' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/sessions.rb:65:in with_name'来自/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/sessions.rb:105:in mongo_session' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/sessions.rb:121:in collection'from/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby​​/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/sessions/options.rb:161:inin method_missing' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/contextual/mongo.rb:263:in initialize'from/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby​​/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/contextual.rb:53:in new' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/contextual.rb:53:in create_context'from/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby​​/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/contextual.rb:35:in context' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/contextual.rb:20:in first'from/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby​​/gems/2.1.0/gems/mongoid-4.0.0.beta2/lib/mongoid/findable.rb:122:in first' from (irb):1 from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/console.rb:90:in start'from /Users/rizalmuthi/.rbenv /versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/console.rb:9:in start' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:69:in console'from /Users/rizalmuthi/.rbenv/versions /2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in run_command!' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands.rb:17:in "from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems /activesupport-4.1.1/lib/active_support/dependencies.rb:247:in中的require' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in阻止来自/Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activesupport -4.1.1/lib/active_support/dependencies.rb:232:in load_dependency' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:inrequire'from/Users/rizalmuthi/Documents/Sites/WORK/tapway/bin/rails:8:in <top (required)>' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:inload'from /Users/rizalmuthi/.rbenv/版本/ 2.1.1/lib/ruby​​/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in block in load' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:inload_dependency'from /Users/rizalmuthi/.rbenv/versions/2.1. 1/lib/ruby​​/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in load' from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require'from /Users/rizalmuthi/.rbenv/versions/2.1.1/lib/ ruby/2.1.0/ruby​​gems/core_ext/kernel_require.rb:55:in'irb require' from -e:1:in(main):002:0>

还有,这是我通过run生成的mongoid.yml

rails g mongoid:config

mongoid.yml

development:
  sessions:
    default:
      database: mongo_demo_development
    hosts:
      - localhost:27017
    options:        
 options:

test:
  sessions:
    default:
      database: mongo_demo_test
      hosts:
        - localhost:27017
      options:
        consistency: :strong      
        max_retries: 1
        retry_interval: 0
Run Code Online (Sandbox Code Playgroud)

我一直在寻找谷歌和一些博客,无法弄清楚如何解决这个问题.除此之外,我们不使用Rspec tho.

小智 14

更改您的config/application.rb文件:

替换它Bundler.require(*Rails.groups)

to Bundler.require(*Rails.groups(资产:%w(开发测试)))

  • 这很有效.有人在乎解释原因吗? (5认同)

Fer*_*rio 5

在最新的mongoid -5.0.0版本中,您可以通过将以下代码放在application.rb中来解决

 config.generators do |g|
   g.orm :mongoid
 end
Run Code Online (Sandbox Code Playgroud)