MIKAZUKI 開発者ブログ

MIKAZUKI で開発を進める上で見つけた気づきやノウハウをお伝えするテックブログです。

Railsで特定の場合のみvalidateを適用する

POSTっぽい機能があるサービスだと一時保存という機能があったりして、その場合validateを一時保存時のみ除外したかったりする。

そんなときはmodelで

validates :hogehoge, presence: {on: :registration} 

みたいにして定義してやり

Model.save(context: :registration)

のようにしてやると、特定の場合のみバリデーションをかけることができる。

めでたしめでたし

Railsで環境変数をライトに使う

Railsで開発しているとproduction環境で動作させるときに必要なsecret.ymlだったり、環境変数でセキュアにtokenをアプリケーション側に渡したいことがある。

そんなときはdotenvというgemを使うと便利。

gem 'dotenv-rails'

をGemfileに追加して bundle install

あとはアプリケーションのrootに .envというファイルを作ってそこに環境変数を書き込んでおくと、ENVで呼び出せるようになるという優れもの

# .env
GOOGLE_ACCESS_TOKEN="hogehoge"


ENV["GOOGLE_ACCESS_TOKEN"] # => hogehoge

上のように呼び出せる

.envをgit管理下に含めてしまうと元も子もないので、gitignoreに追加するのをお忘れなく。