How can I make a custom environment in rails a default environment?

前端 未结 3 1557
無奈伤痛
無奈伤痛 2021-02-10 09:19

i created a custom staging environment in my rails app by adding new file config/environments/staging.rb, same as config/environments/development

相关标签:
3条回答
  • 2021-02-10 10:04

    I have put ENV['RAILS_ENV'] ||= 'custom_development' in boot.rb at the last. It worked.

    I have tested

    • rake
    • server
    • console
    • dbconsole

    All Worked.

    0 讨论(0)
  • 2021-02-10 10:05

    You can try this in your application.rb after Bundler.require statement

    ENV['RAILS_ENV'] ||= 'staging'
    
    0 讨论(0)
  • 2021-02-10 10:14

    Ideally you have to set environment variable in .bashrc like

      export RAILS_ENV=staging
    

    because rails is fully dependent on environment variable. But like you said

    adding RAILS_ENV in ~/.bashrc or ~/.bash_profile file of the user. will make this application depent on the console, shouldn't it just work independent of ~/.bashrc or ~/.bash_profile file?

    Obviously, this is another option. Include this line at the top of config/boot.rb

    ENV["RACK_ENV"] = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "staging"
    

    This will work everywhere. I have tested in following places

    1. Rails 4
    2. Rake
    3. Server
    4. Console
    5. dbconsole
    6. It will pick the environment if it is set in bashrc or zshrc etc.
    0 讨论(0)
提交回复
热议问题