備忘録メモ
RailsでAPIキーのような見られたくない情報をプログラム内にベタ書きしたくない時は、config/secrets.yml
に記述することで呼び出せるようになる
Twitter APIを使うとして...
ymlファイルを作る
設定したいキー情報をsecrets.yml
に記述する
config/secrets.yml
default: &default
twitter_consumer_key: "Consumer API key"
twitter_consumer_secret: "Consumer API secret key"
twitter_access_token: "Access token"
twitter_access_token_secret: "Access token secret"
development:
<<: *default
test:
<<: *default
production:
<<: *default
Controller側で呼び出す
secrets.yml
の情報はRails.application.secrets
で呼び出せる
twitter_controller.rb
class TwitterController < ApplicationController
def new
# ymlに記述したキー情報を取得する
@client = Twitter::REST::Client.new do |config|
config.consumer_key = Rails.application.secrets.twitter_consumer_key
config.consumer_secret = Rails.application.secrets.twitter_consumer_secret
config.access_token = Rails.application.secrets.twitter_access_token
config.access_token_secret = Rails.application.secrets.twitter_access_token_secret
end
# tweetする
@client.update("This is test")
end
end