gpt4 book ai didi

ruby-on-rails-3 - Mongoid、Heroku、Device、MongoHQ 和 Rails 的 MongoDB 错误

转载 作者:行者123 更新时间:2023-12-04 19:14:03 25 4
gpt4 key购买 nike

我正在处理 a simple app目前已部署到heroku - 它正在使用mongoid,设备并且可以在本地主机中非常轻松地创建用户登录,但不能在heroku的生产中创建。可以尝试创建一个账号,提交后报错。

我认为用于生产的 mongoid.yml 需要更改,但我不知道如何更改。

我的 heroku config有以下内容:

 === Config Vars for bookfoo
DATABASE_URL: postgres://jeibucpexp:bVZzGaGPUeGylwmA7dyE@ec2-107-20-186-97.compute-1.amazonaws.com/jeibucpexp
GEM_PATH: vendor/bundle/ruby/1.9.1
LANG: en_US.UTF-8
MONGOHQ_URL: mongodb://heroku:14bc6d476e6449c952d6350b07e89643@alex.mongohq.com:10065/app6153931
MONGOLAB_URI: mongodb://heroku_app6153931:og03dk0hdrj7r8lsit51k6ah9n@ds037097-a.mongolab.com:37097/heroku_app6153931
PATH: bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
RACK_ENV: production
RAILS_ENV: production
SHARED_DATABASE_URL: postgres://jeibucpexp:bVZzGaGPUeGylwmA7dyE@ec2-107-20-186-97.compute-1.amazonaws.com/jeibucpexp

mongoid.yml 具有 heroku 中建议的以下内容:
development:
sessions:
default:
database: bookfoo_app_development
hosts:
- localhost:27017
options:
consistency: :strong
options:
test:
sessions:
default:
database: bookfoo_app_test
hosts:
- localhost:27017
options:
consistency: :strong
production:
sessions:
default:
uri: <%= ENV['MONGOHQ_URL'] %>
options:
skip_version_check: true
safe: true

我的 gemfile 有以下内容:
source 'https://rubygems.org'

gem 'rails', '3.2.3'

group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
end

group :test do
gem 'database_cleaner'
gem 'mongoid-rspec'
gem 'factory_girl_rails'
gem 'email_spec'
gem 'capybara'
gem 'launchy'
end

group :production do
gem 'thin'
end

group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
gem "mongoid", :git => "git://github.com/mongoid/mongoid.git"
gem "bson_ext"
gem "devise"

git push heroku master它给了我以下提示:
There is a configuration error with the current mongoid.yml.
Problem:
No database provided for session configuration: :options.
Summary:
Each session configuration must provide a database so Mongoid knows where the default database to persist to. What was provided was: {"skip_version_check"=>true, "safe"=>true}.
Resolution:
If configuring via a mongoid.yml, ensure that within your :options section a :database value for the session's default database is defined.
Example:
\_\_development:
\_\_\_\_sessions:
\_\_\_\_\_\_options:
\_\_\_\_\_\_\_\_database: my_app_db
\_\_\_\_\_\_\_\_hosts:
\_\_\_\_\_\_\_\_\_\_- localhost:27017

最佳答案

mongoid.yml 应该是这样(我的缩进是错误的):

production:
sessions:
default:
uri: <%= ENV['MONGOHQ_URL'] %>
options:
skip_version_check: true
safe: true

关于ruby-on-rails-3 - Mongoid、Heroku、Device、MongoHQ 和 Rails 的 MongoDB 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11931183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com