はじめに
Rails で Devise と論理削除を両立する方法。
TL;DR
- 論理削除は jhawthorn/discard を利用
- 論理削除されたユーザーのログインを無効化
active_for_authentication?をオーバーライド
- DB のユニーク制約を再設定する
validatableと同等のバリデーションを自分で設定
Rails で Devise と論理削除を両立する方法。
active_for_authentication? をオーバーライドvalidatable と同等のバリデーションを自分で設定
Rails で sitemap_generator を使って sitemap(sitemap.xml.gz)を作成する方法にについて整理した。
実運用で使うであろう whenever と組み合わせたバッチ処理についても合わせて整理した。
sitemap_generator, whenever を追加してインストール[bundle exec] rails sitemap:install で config/sitemap.rb を作成sitemap.xml.gz に出力したい内容を記述[bundle exec] rails sitemap:refresh で public/sitemap.xml.gz の作成や更新[bundle exec] wheneverize で config/schedule.rb を作成rake 'sitemap:refresh')を記述[bundle exec] whenever --update-crontab で cron ジョブの設定yuki24/rambulance で動的なエラーページを表示する方法についてまとめた。
Gemfile に gem "rambulance" 追加 → bundle (or bundle install) でインストールrails g rambulance:install でセットアップconfig/initializers/rambulance.rb に "例外" => "対応ファイル" のペアを記述app/views/errors/対応ファイル.html.xxx にエラーページの内容を記述/rambulance/対応ファイル にアクセスすると、エラーページの内容が確認できるRails で favicn を設定する方法(と、ついでに favicon そのものの生成)についてまとめた。
favicon_link_tag を使う/public 配下の場合は / 始まりで指定/app/assets など配下の場合は / 無しで指定簡易的に「あなたはxx歳以上ですか?」の年齢認証ページを挟む方法について整理した。
前提や要件は以下。
ちょっと分かりづらいけど。
Rails で静的ページを作成する方法について調べて、thoughtbot/high_voltage に辿り着いたので使い方を整理した。
Gemfile に gem 'high_voltage' を追加して bundle でインストールapp/views/pages/ 配下に静的ページ用の view ファイルを作成link_to 'About', page_path('about') のようにすると静的ページへのリンクを生成可能Rails で OGP meta tags を設定する方法について整理した。この例では content_for を使ってページ別に定義する方法を用いている。
yield(:ogp) を追加し、ページ別の設定内容を展開content_for(:ogp) でページ別の設定内容を記述docker-lambda で AWS Lambda Function を開発する方法を調べた。
docker-lambda を試したdocker-lambda はいいぞRails で既存の DB を利用するアプリケーションの作り方を調べた。注意点としては、Rails からは DB の更新は行わず、読み込みのみ(Read Only)という構成である。
※最終的にはアクセスログなどのテーブルを更新することになると思うが、「アプリケーション本体の機能としては DB の更新はなし」(別のプログラムで DB が作られる)というイメージ。
config/database.yml と app/models/your_model.rb だけ作れば良いdb/schema.rb や db/migrate/xxxx.rb は不要db/schema.rb あると、DB の構成確認できて便利かもね冒頭に述べた通り、別プログラムで DB が作られているような構成で、ユーザー表示部分のみを Rails で提供したい場合の使い方を調べた。
続きを読む