0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RailsのCORSで配列の環境変数を使うときの注意

Posted at

はじめに

こんにちは、HappyManaです。
RailsのCORS設定で、オリジンを複数指定したいことがあり、環境変数に配列を使いました。
その際の注意点を備忘録として残します。

環境変数に配列を使う

環境変数で配列を使う際は、以下のように書きます。

CLIENT_ORIGIN=["http://localhost:8000","https://example.jp"]

CORSのoriginsには以下のように書きます。

origins JSON.parse(ENV['CLIENT_ORIGIN'] { '[]' })

注意点

シングルクォーテーションで囲わない

例として、以下のようにシングルクォーテーショを使った配列にします。

CLIENT_ORIGIN=['http://localhost:8000','https://example.jp']

そうすると、以下のエラーが出ます。

/usr/local/lib/ruby/3.1.0/json/common.rb:216:in `parse': 451: unexpected token at ''http://localhost:8000','https://example.jp']' (JSON::ParserError)

これは、JSON.parseを使った時に、ダブルクォーテーションで囲われていないためにでるエラーです。
そもそもJSONの構文では、ダブルクォーテーションで要素が囲われている必要があります。
https://www.json.org/json-ja.html

JSONの構文としてシングルクォーテーションで囲うとエラーがでるため、ダブルクォーテーションで囲う必要があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?