Rails で Sitemap の作成、定期的な更新を行う



カテゴリー Programming

はじめに

Rails で sitemap_generator を使って sitemap(sitemap.xml.gz)を作成する方法にについて整理した。

実運用で使うであろう whenever と組み合わせたバッチ処理についても合わせて整理した。

TL;DR

  • Gemfile に sitemap_generator, whenever を追加してインストール
  • [bundle exec] rails sitemap:installconfig/sitemap.rb を作成
    • sitemap.xml.gz に出力したい内容を記述
  • [bundle exec] rails sitemap:refreshpublic/sitemap.xml.gz の作成や更新
  • [bundle exec] wheneverizeconfig/schedule.rb を作成
    • 定期的に処理したい内容(rake 'sitemap:refresh')を記述
  • [bundle exec] whenever --update-crontab で cron ジョブの設定
続きを読む

はじめに

yuki24/rambulance で動的なエラーページを表示する方法についてまとめた。

TL;DR

  • Gemfilegem "rambulance" 追加 → bundle (or bundle install) でインストール
  • rails g rambulance:install でセットアップ
  • config/initializers/rambulance.rb"例外" => "対応ファイル" のペアを記述
  • app/views/errors/対応ファイル.html.xxx にエラーページの内容を記述
  • /rambulance/対応ファイル にアクセスすると、エラーページの内容が確認できる
続きを読む

Rails で favicon の設定



カテゴリー Programming

はじめに

Rails で favicn を設定する方法(と、ついでに favicon そのものの生成)についてまとめた。

TL;DR

  • favicon_link_tag を使う
    • /public 配下の場合は / 始まりで指定
    • /app/assets など配下の場合は / 無しで指定
  • favicon の作成は Canvafavicon generator が便利
  • Favicon checker で設定内容を確認する
続きを読む

はじめに

簡易的に「あなたはxx歳以上ですか?」の年齢認証ページを挟む方法について整理した。

前提や要件は以下。

  • ユーザー登録なし
  • ページ表示前に単純な年齢認証を挟む
  • Yes を選択したら、表示しようとしていたページに移動
  • No を選択したら、トップページにリダイレクト
  • 一度 Yes を選択したら、(指定期間内は)その後の年齢認証は行わない

TL;DR

ちょっと分かりづらいけど。

  • cookie に「年齢認証結果」と「本来表示しようとしていたページ(URL)」を保持すると OK
  • 「年齢認証結果」がなければ、「本来表示しようとしていたページ(URL)」を保持しつつ、年齢認証ページにリダイレクト
  • 年齢認証で Yes が選ばれたら、「年齢認証結果」を保持して、「本来表示しようとしていたページ(URL)」にリダイレクト
続きを読む

はじめに

Rails で静的ページを作成する方法について調べて、thoughtbot/high_voltage に辿り着いたので使い方を整理した。

TL;DR

  • Gemfilegem 'high_voltage' を追加して bundle でインストール
  • app/views/pages/ 配下に静的ページ用の view ファイルを作成
  • link_to 'About', page_path('about') のようにすると静的ページへのリンクを生成可能
続きを読む

Rails で OGP を content_for で設定する方法



カテゴリー Programming

はじめに

Rails で OGP meta tags を設定する方法について整理した。この例では content_for を使ってページ別に定義する方法を用いている。

TL;DR

  • サイト名などの共通項はレイアウトファイルに記述
  • レイアウトファイルに yield(:ogp) を追加し、ページ別の設定内容を展開
  • 個別ページの view ファイルに content_for(:ogp) でページ別の設定内容を記述
続きを読む

はじめに

Rails で既存の DB を利用するアプリケーションの作り方を調べた。注意点としては、Rails からは DB の更新は行わず、読み込みのみ(Read Only)という構成である。

※最終的にはアクセスログなどのテーブルを更新することになると思うが、「アプリケーション本体の機能としては DB の更新はなし」(別のプログラムで DB が作られる)というイメージ。

TL;DR

  • DB 参照だけなら config/database.ymlapp/models/your_model.rb だけ作れば良い
  • db/schema.rbdb/migrate/xxxx.rb は不要
    • db/schema.rb あると、DB の構成確認できて便利かもね

目的・やったこと

冒頭に述べた通り、別プログラムで DB が作られているような構成で、ユーザー表示部分のみを Rails で提供したい場合の使い方を調べた。

続きを読む
  • page 1 of 1

r17n


Softwear Engineer


Fukuoka