2013-05-20 3 views
1

내 앱을 설치하는 동안 과 같은 질문을하고 싶습니다. 데이터베이스 이름? 및 사용자가 데이터베이스에 대해 원하는 이름을 입력합니다. 데이터베이스 이름은 설정 내부/mongoid.ymlMongodb의 사용자 선택에 따라 데이터베이스 이름이 동적으로 변경됨

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

설치하거나 번들 전에이 app.Is이 일어날 수 있도록 어떤 단계를 설치 번들을 수행하는 동안 내가 동적으로 사용자 입력에 의해 project_development 같은 데이터베이스를 만들고 싶어?

답변

2

설정/mongoid.yml가 설정/database.yml을 같은 ERB 통해 전달되는 경우, 당신은 다음과 같은 트릭을 수행 할 수 있습니다

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

그런 다음 MONGO_DB_NAME=some_name rails s에 레일을 시작합니다. 시작시 MONGO_DB_NAME을 생략하면 default_db_name으로 폴백됩니다.

+0

내 질문에 어리석은 수도 있지만 가능합니다. 먼저 레일스를 실행합니다. 어떤 디폴트 데이터베이스 이름을 사용하고 다른 시간에 다른 포트를 사용하여 MONGO_DB_NAME = yak_name rails와 같은 다른 데이터베이스 이름으로 같은 프로젝트를 실행합니다. -p 3002 두 포트에서 동일한 프로젝트를 실행하고 싶지만 다른 데이터베이스 이름 .. 나는 이것을 좋아하지 만 오류가 발생합니다. 서버가 이미 실행 중입니다./home/prem/Desktop/Rails 캐스트/102-auto-complete-association-revised/token/tmp/pids/server.pid를 확인하십시오. 동일한 프로젝트를 다른 데이터베이스의 다른 포트에서 동시에 실행할 수 있습니까? – regmiprem

+0

프로젝트 복사본을 다른 디렉토리로 체크 아웃하면 다른 포트의 두 위치에서 레일을 실행할 수 있습니다. – Spajus

관련 문제