はじめに
Rails で favicn を設定する方法(と、ついでに favicon そのものの生成)についてまとめた。
TL;DR
favicon_link_tag
を使う/public
配下の場合は/
始まりで指定/app/assets
など配下の場合は/
無しで指定
- favicon の作成は Canva と favicon generator が便利
- Favicon checker で設定内容を確認する
Rails で favicn を設定する方法(と、ついでに favicon そのものの生成)についてまとめた。
favicon_link_tag
を使う/public
配下の場合は /
始まりで指定/app/assets
など配下の場合は /
無しで指定簡易的に「あなたはxx歳以上ですか?」の年齢認証ページを挟む方法について整理した。
前提や要件は以下。
ちょっと分かりづらいけど。
Laravel で有効期限付きの一次的な URL を生成してメールで送信する方法について調べた。
基本的には Laravel5.6で署名付きURL(時間制限付き)の実装が簡単に出来るようになったので試した - Qiita の内容通りで、+α として実際にメール送信(承諾/拒否)まで行っている。
temporarySignedRoute
で URL 生成now()->addXXXX()
で設定hasValidSignature
で URL の検証Laravel で (a OR b) AND (c OR d)
のように複合的な AND/OR 検索する方法について整理した。
where(fucntion($query))
を使う$query->where
や $query->orWhere
を使うRails で静的ページを作成する方法について調べて、thoughtbot/high_voltage に辿り着いたので使い方を整理した。
Gemfile
に gem 'high_voltage'
を追加して bundle
でインストールapp/views/pages/
配下に静的ページ用の view ファイルを作成link_to 'About', page_path('about')
のようにすると静的ページへのリンクを生成可能jQuery を使わずに Lazy Load できる ApoorvSaxena/lozad.js の使い方を整理した。
<img class="lozad" src="dummy" data-src="image">
のように指定class="lozad"
を追加data-src
に Lazy Load 対象画像、src
にダミー画像を設定lozad().observe()
を実行して Lazy Load 起動(監視処理の起動)IntersectionObserver
を使っているので SEO 的にも良い(らしい)2019年11月時点で主要な SNS である(と個人的に思う) Twitter, Facebook, LINE への共有リンクの設定方法についてまとめた。
https://twitter.com/intent/tweet?text=<text>
via
, related
, url
, hashtags
https://www.facebook.com/share.php?u=<url>
https://line.me/R/msg/text/?<text>
Rails で OGP meta tags を設定する方法について整理した。この例では content_for
を使ってページ別に定義する方法を用いている。
yield(:ogp)
を追加し、ページ別の設定内容を展開content_for(:ogp)
でページ別の設定内容を記述Laravel の中間テーブルを使った多対多(belongsToMany
)の関係で、中間テーブルのカラムでソートする方法を調べた。
イメージとしては「ユーザー」と「サークル」があって、「ユーザー」は複数の「サークル」に所属可能、「サークル」には複数の「ユーザー」が所属。サークルへの加入時期(created_at
)でソートする、など。
withPivot
と orderBy
を組み合わせるwithPivot('created_at AS joined_at')
のように別名を付けると分かりやすいPHP, Laravel で null
の可能性があるケースでの便利なメソッドや演算子について調べたので忘れないようにメモ。
※Ruby の Safe Navigation Operator (ぼっち演算子) hoge&.name
とかのようなもの。
optional()
: optional($hoge)->name
とすると、$hoge = null
の時は null
が返ってくる??
: $a = $b ?? 'null だよ'
とすると、$b != null
の時は $b
、$b == null
の時は ??
の後の値が設定されるoptional($a)->name ?? '未入力'
のように組み合せて使うと便利