#はじめに
Rails5.2以降でsecret.ymlファイルがない為、その記述の仕方などに苦戦したのでその記述方法について説明したいと思います。
#credential.yml.encの編集方法
EDITOR=vim bin/rails credentials:edit
でcredential.yml.encを開く
EDITOR=vim bin/rails credentials:edit
# aws:
# access_key_id: 123
# secret_access_key: 345
以下略
#記述方法
今回はgoogle apiのgoogle_client_id
とgoogle_client_secret
を例に説明します。
# Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
secret_key_base: *******************************************************************************************************************************
development:
google_client_id: ***************************.apps.googleusercontent.com
google_client_secret: *********************
developmentと付けているのはローカルでのみ実装予定でしたので記述してあります。注意点としてはスペースの開け方に注意しないとエラーが出ますので気をつけましょう。最後に:wq
で保存して終了です。
#出来ない場合
もしcredential.yml.encがコマンドを入力しても編集出来ない場合、master.keyが違う場合があります。その場合はcredential.yml.encを削除しても問題無ければ削除し、新しくmaster.keyを生成し直します。
コマンドは先程と同じEDITOR=vim bin/rails credentials:edit
で生成出来ます。
そうする事で、master.keyが無ければ新しく生成する事が出来、編集も可能になります。
初期段階ならこの方法が早いかと思います。
#まとめ
secrets.ymlで環境変数の定義など覚えていた為最初は苦戦しました。Versionが違うだけで仕様が変わる事のいい勉強になりました。
以下、参考にさせて頂いた資料です。
https://qiita.com/NaokiIshimura/items/2a179f2ab910992c4d39
https://qiita.com/scivola/items/cc06ddbfd94d3118f693#masterkey-%E3%82%92%E7%B4%9B%E5%A4%B1%E3%81%97%E3%81%9F%E3%82%89%E3%81%A9%E3%81%86%E3%81%AA%E3%82%8B2018-08-01-%E8%BF%BD%E8%A8%98