Rails start_with?メソッドを使ってユーザーがサイトに訪れて最初のページか判断する

ユーザーがサイト(自社サービス)に訪れて最初のページか判断したいことがあり、Railsのstart_with?メソッドを使って対応しました。

方法

Railsでreferrerを取得しstart_with?を使って自社サービスのURLが含まれているか判断すればOK

ref = request.referrer
ref.start_with?(root_url)

start_with?メソッドは、文字列の先頭が引数の文字列で始まっていればtrue、そうでなければfalseを返すRailsのメソッドです。

def hoge?(ref) 
  ref.start_with?(root_url)
end

こんな感じでメソッド用意しておけば他でも使えるさ

ちなみに

request.refererとrequest.referrerを見比べるとスペルが違っていますが返ってくるものは一緒です。(referrerがrefererのエイリアス)
httpではrefererですがなんかスペル間違えてるだけで英単語として正しいのはreferrerらしいです。

(弊社ではreferrerを使ってましたー)

httpのヘッダ項目については
「リクエスト ヘッダフィールド」で検索すれば一覧出てくると思います。

おやすみなさい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です