通过Mongodb中的用户选择动态地Rails数据库名称

时间:2013-05-20 04:32:09

标签: ruby-on-rails ruby ruby-on-rails-3 mongodb mongoid

在安装我的应用时,我想问问题  数据库的名称? 用户将输入他们想要的数据库名称。 数据库名称在config / mongoid.yml

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

我想在执行捆绑安装时或者在app安装捆绑之前,通过用户输入动态创建类似project_development的数据库。是否有任何步骤来实现这一目标?

1 个答案:

答案 0 :(得分:2)

如果config / mongoid.yml通过ERB传递,如config / database.yml,则可以执行以下操作:

development:
   sessions:
default:
      database: <%= ENV['MONGO_DB_NAME'] || 'default_db_name' %>
      hosts:
    - localhost:27017
  options:

然后使用MONGO_DB_NAME=some_name rails s启动rails。如果您在启动时省略MONGO_DB_NAME,则会回退到default_db_name