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に追加するのをお忘れなく。