LoginSignup
3
2

More than 3 years have passed since last update.

gonを使ってJavaScriptへの直書き環境変数を防ぐ

Last updated at Posted at 2020-03-10

まず環境変数を設定する

Dotenvを用いて環境変数を設定していきます。

1 gemのインストール

Gemfile
gem 'dotenv-rails'
bundle install

2 envファイルの作成
appファイルやcofigファイル、Gemfileがあるルートディレクトリに「.env」というファイルを作成して下さい。

スクリーンショット 2020-03-10 15.36.12.png

私は一瞬迷ったので画像載せておきます。
歯車マークが目印です。

3 環境変数の設定

|.env|
ACCESS_KEY='*******'

4 .gitignoreの編集
環境変数をGitのトラッキングの対象外にする為記述します。

|.gitignore|
.env

これでgonを使うための下準備は完了です。

gonのインストール

Gemfileに追記して下さい。

Gemfile
gem 'gon'
bundle install

JSファイルでRails環境変数を扱う

1 コントローラーの編集
JavaScriptを呼び出しているViewに対応させてコントローラーのメソッド内に以下を記述します。
例えば、new.html.hamlでjsを呼び出しているのであればnewメソッド内に追記します。

gons_controller.rb
def new
  gon.xxx_access_key = ENV['ACCESS_KEY']
end

2 renderメソッド
application.html.haml内のheadタグに以下を記述して下さい。

application.html.haml
= Gon::Base.render_data

3 JSファイルに記述
jsファイル内にコントローラーで設定した変数を記述します。

gon.js
gon.xxx_access_key

これでjavascriptとrailsの連携が出来ました。

3
2
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
3
2