はじめに

jQuery Select2 で、複数選択(multiple)を有効にした場合の、最大選択可能数を設定する方法を調べた。

TL;DR

  • $('xx').select2({maximumSelectionLength: n}) で最大選択可能数を設定できる
  • multiple<select multiple> でも、select2({multiple: "multiple"}) でも良い
  • language: maximumSelected でメッセージをカスタマイズできる
続きを読む

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)」にリダイレクト
続きを読む

はじめに

Laravel で有効期限付きの一次的な URL を生成してメールで送信する方法について調べた。

基本的には Laravel5.6で署名付きURL(時間制限付き)の実装が簡単に出来るようになったので試した - Qiita の内容通りで、+α として実際にメール送信(承諾/拒否)まで行っている。

TL;DR

続きを読む

はじめに

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

TL;DR

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

Lozad.js で Lazy Load (非 jQuery)



カテゴリー Programming

はじめに

jQuery を使わずに Lazy Load できる ApoorvSaxena/lozad.js の使い方を整理した。

TL;DR

  • <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 への共有リンクの設定方法についてまとめた。

TL;DR

  • Twitter: https://twitter.com/intent/tweet?text=<text>
    • 他オプション: via, related, url, hashtags
  • Facebook: https://www.facebook.com/share.php?u=<url>
  • LINE: https://line.me/R/msg/text/?<text>
続きを読む

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



カテゴリー Programming

はじめに

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

TL;DR

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

はじめに

Laravel の中間テーブルを使った多対多(belongsToMany)の関係で、中間テーブルのカラムでソートする方法を調べた。

イメージとしては「ユーザー」と「サークル」があって、「ユーザー」は複数の「サークル」に所属可能、「サークル」には複数の「ユーザー」が所属。サークルへの加入時期(created_at)でソートする、など。

TL;DR

  • withPivotorderBy を組み合わせる
  • withPivot('created_at AS joined_at') のように別名を付けると分かりやすい
続きを読む

r17n


Softwear Engineer


Fukuoka