質問編集履歴

9

タイトル修正

2018/03/09 16:51

投稿

ka20
ka20

スコア12

test CHANGED
@@ -1 +1 @@
1
- 行きrails created_atに保存されるタイムゾーンがずれてしまう
1
+ [rails] created_atに保存されるタイムゾーンがずれてしまう
test CHANGED
File without changes

8

説明追加

2018/03/09 16:51

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -50,7 +50,9 @@
50
50
 
51
51
  ```
52
52
 
53
- config/application.rb
53
+ `config/application.rb`
54
+
55
+ `config/environments/`の中身のそれぞれ`development.rb`と`production.rb`の中身には、タイムゾーンの設定はしておらず、`application.rb`の中だけで以下のように設定してある状態です。
54
56
 
55
57
  ```
56
58
 
@@ -68,37 +70,19 @@
68
70
 
69
71
  ```
70
72
 
71
- また`config/environments/`の中身のそれぞれdevelopment.rbとproduction.rbの中身には、タイムゾーンの設定はしておらず、application.rbの中だけで以上のように設定してある状態です。
72
73
 
73
74
 
74
-
75
- もともとconfigは上記の状態になっており変わっておりませんが、サーバを再起動もしてレコードを登録し確認しても、ずれてしまいます。
76
-
77
- サーバはpumaを使っており、pumaのプロセスをkillしてから、新たに起動させる形での再起動をしています。
78
-
79
- 起動の度にconfigが読み込まれるという認識をしておりましたが正しいでしょうか。
80
-
81
-
82
-
83
- 上記のlinuxコマンドで見える時間と比べると、
84
-
85
- `rails c`で`ModelName.create(省略)によって`レコードを登録するとそのレコードの生成時刻は`created_at: "2018-03-06 16:39:50"`となり、ずれてしまっております。
86
-
87
-
88
-
89
- またproductionでの、`rals c`内での実行結果として
75
+ またproductionでの、`rals c`内での実行結果として以下のように`config/application.rb`での設定が反映されています。
90
76
 
91
77
  ```
92
78
 
93
- irb(main):004:0> Time.zone
79
+ irb(main):003:0> Time.zone
94
80
 
95
- => #<ActiveSupport::TimeZone:0x0000562dbb8ec080 @name="UTC", @utc_offset=nil, @tzinfo=#<TZInfo::DataTimezone: Etc/UTC>>
81
+ => #<ActiveSupport::TimeZone:0x000055e48c0a34a0 @name="Tokyo", @utc_offset=nil, @tzinfo=#<TZInfo::DataTimezone: Asia/Tokyo>>
96
82
 
97
83
  ```
98
84
 
99
- と、config/application.rbでの設定に反する設定になってしまっています。
100
-
101
- macで、以下のように期待通りに動いております。
85
+ macで、以下のように期待通りに動いております。
102
86
 
103
87
  ```
104
88
 
@@ -110,7 +94,11 @@
110
94
 
111
95
 
112
96
 
97
+ 上記のlinuxコマンドで見える時間(`Local time: Wed 2018-03-07 01:37:24 JST`)と比べると、
98
+
99
+ `production`にて`rails c`で`ModelName.create(省略)によって`レコードを登録するとそのレコードの生成時刻は`created_at: "2018-03-06 16:39:50"`となり、ずれてしまっております。
100
+
113
- また、開発環境(Mac, rails development)ではレコードの時刻は正しいです。
101
+ また、開発環境(Mac, rails development)では登録されるレコードの時刻は正しいです。
114
102
 
115
103
 
116
104
 

7

更新

2018/03/08 05:32

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -54,9 +54,17 @@
54
54
 
55
55
  ```
56
56
 
57
+ class Application < Rails::Application
58
+
59
+ config.load_defaults 5.1
60
+
61
+ config.generators.template_engine = :slim
62
+
57
63
  config.time_zone = 'Tokyo'
58
64
 
59
65
  config.active_record.default_timezone = :local
66
+
67
+ end
60
68
 
61
69
  ```
62
70
 

6

追記

2018/03/08 04:55

投稿

ka20
ka20

スコア12

test CHANGED
@@ -1 +1 @@
1
- rails created_atに保存されるタイムゾーンがずれてしまう
1
+ 行きrails created_atに保存されるタイムゾーンがずれてしまう
test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
 
80
80
 
81
- また、`rals c`内での実行結果として
81
+ またproductionでの、`rals c`内での実行結果として
82
82
 
83
83
  ```
84
84
 
@@ -90,6 +90,16 @@
90
90
 
91
91
  と、config/application.rbでの設定に反する設定になってしまっています。
92
92
 
93
+ macでは、以下のように期待通りに動いております。
94
+
95
+ ```
96
+
97
+ [1] pry(main)> Time.zone
98
+
99
+ => #<ActiveSupport::TimeZone:0x007fac81494500 @name="Tokyo", @tzinfo=#<TZInfo::DataTimezone: Asia/Tokyo>, @utc_offset=nil>
100
+
101
+ ```
102
+
93
103
 
94
104
 
95
105
  また、開発環境(Mac, rails development)ではレコードの時刻は正しいです。

5

追記

2018/03/07 14:23

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -60,6 +60,8 @@
60
60
 
61
61
  ```
62
62
 
63
+ また`config/environments/`の中身のそれぞれdevelopment.rbとproduction.rbの中身には、タイムゾーンの設定はしておらず、application.rbの中だけで以上のように設定してある状態です。
64
+
63
65
 
64
66
 
65
67
  もともとconfigは上記の状態になっており変わっておりませんが、サーバを再起動もしてレコードを登録し確認しても、ずれてしまいます。

4

追記

2018/03/07 14:20

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -64,6 +64,10 @@
64
64
 
65
65
  もともとconfigは上記の状態になっており変わっておりませんが、サーバを再起動もしてレコードを登録し確認しても、ずれてしまいます。
66
66
 
67
+ サーバはpumaを使っており、pumaのプロセスをkillしてから、新たに起動させる形での再起動をしています。
68
+
69
+ 起動の度にconfigが読み込まれるという認識をしておりましたが正しいでしょうか。
70
+
67
71
 
68
72
 
69
73
  上記のlinuxコマンドで見える時間と比べると、

3

追記

2018/03/07 07:29

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  上記のlinuxコマンドで見える時間と比べると、
70
70
 
71
- `rails c`で`ModelName.create()によって`レコードを登録するとそのレコードの生成時刻は`created_at: "2018-03-06 16:39:50"`となり、ずれてしまっております。
71
+ `rails c`で`ModelName.create(省略)によって`レコードを登録するとそのレコードの生成時刻は`created_at: "2018-03-06 16:39:50"`となり、ずれてしまっております。
72
72
 
73
73
 
74
74
 

2

追記

2018/03/07 07:27

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,21 @@
68
68
 
69
69
  上記のlinuxコマンドで見える時間と比べると、
70
70
 
71
- `rails c`でレコードを登録すると`created_at: "2018-03-06 16:39:50"`となり、ずれてしまっております。
71
+ `rails c`で`ModelName.create()によって`レコードを登録するとそのレコードの生成時刻は`created_at: "2018-03-06 16:39:50"`となり、ずれてしまっております。
72
+
73
+
74
+
75
+ また、`rals c`内での実行結果として
76
+
77
+ ```
78
+
79
+ irb(main):004:0> Time.zone
80
+
81
+ => #<ActiveSupport::TimeZone:0x0000562dbb8ec080 @name="UTC", @utc_offset=nil, @tzinfo=#<TZInfo::DataTimezone: Etc/UTC>>
82
+
83
+ ```
84
+
85
+ と、config/application.rbでの設定に反する設定になってしまっています。
72
86
 
73
87
 
74
88
 

1

追記

2018/03/07 07:26

投稿

ka20
ka20

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  webで調べたりして、現在私の環境では以下の状況です。
2
2
 
3
3
  railsは5を使っています。
4
+
5
+ CentOS7.4上のrails production環境でこのようになっております。
4
6
 
5
7
 
6
8
 
@@ -70,7 +72,7 @@
70
72
 
71
73
 
72
74
 
73
- また、開発環境ではレコードの時刻は正しいです。
75
+ また、開発環境(Mac, rails development)ではレコードの時刻は正しいです。
74
76
 
75
77
 
76
78