はじめに
jQuery Select2 で、複数選択(multiple
)を有効にした場合の、最大選択可能数を設定する方法を調べた。
TL;DR
$('xx').select2({maximumSelectionLength: n})
で最大選択可能数を設定できるmultiple
は<select multiple>
でも、select2({multiple: "multiple"})
でも良いlanguage: maximumSelected
でメッセージをカスタマイズできる
jQuery Select2 で、複数選択(multiple
)を有効にした場合の、最大選択可能数を設定する方法を調べた。
$('xx').select2({maximumSelectionLength: n})
で最大選択可能数を設定できるmultiple
は <select multiple>
でも、select2({multiple: "multiple"})
でも良いlanguage: maximumSelected
でメッセージをカスタマイズできる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')
のように別名を付けると分かりやすい