teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2019/05/21 05:48

投稿

asm
asm

スコア15149

answer CHANGED
@@ -19,4 +19,23 @@
19
19
 
20
20
  ```ruby
21
21
  gem 'dotenv-rails', require: 'dotenv/rails-now'
22
- ```
22
+ ```
23
+
24
+ **再追記**
25
+ 1. group指定せずに`gem dotenv-rails`を記述する。
26
+ 2. `.env`に`RAILS_ENV=production`を記入
27
+ 3. config/boot.rbを編集
28
+
29
+ ```rb
30
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
31
+
32
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
33
+
34
+ # 追加
35
+ require 'dotenv'
36
+ Dotenv.load
37
+
38
+ require 'bootsnap/setup' # Speed up boot time by caching expensive operations.
39
+ ```
40
+
41
+ というか、`config/boot.rb`冒頭にでも`ENV["RAILS_ENV"]="production"`を書くだけでいい気もしてます。

2

修正

2019/05/21 05:48

投稿

asm
asm

スコア15149

answer CHANGED
@@ -13,8 +13,9 @@
13
13
  ---
14
14
 
15
15
  **追記:**
16
- 解決策っぽいものを見つけました。
16
+ ~~解決策っぽいものを見つけました。
17
- 以下をGemfileのrails直下あたりにgroup指定せずに記述するとよいでしょう。
17
+ 以下をGemfileのrails直下あたりにgroup指定せずに記述するとよいでしょう。~~
18
+ dotenvの制限によりダメでした。
18
19
 
19
20
  ```ruby
20
21
  gem 'dotenv-rails', require: 'dotenv/rails-now'

1

追記

2019/05/21 05:23

投稿

asm
asm

スコア15149

answer CHANGED
@@ -7,4 +7,15 @@
7
7
  bundlerは環境によって読み込むgemを切り替えます。
8
8
  ということは、bundlerからgemが読み込まれた時点で環境が決まっている必要があります。
9
9
 
10
- なので、「dotenvからRAILS_ENVを上書きした場合、なんの問題もなく環境を切り替えられるかは怪しい」という事になります。
10
+ なので、「dotenvからRAILS_ENVを上書きした場合、なんの問題もなく環境を切り替えられるかは怪しい」という事になります。
11
+
12
+
13
+ ---
14
+
15
+ **追記:**
16
+ 解決策っぽいものを見つけました。
17
+ 以下をGemfileのrails直下あたりにgroup指定せずに記述するとよいでしょう。
18
+
19
+ ```ruby
20
+ gem 'dotenv-rails', require: 'dotenv/rails-now'
21
+ ```