offset(rand(User.count)).first

offsetメソッドとは、特定のレコード位置から情報を取得するメソッド。

モデル.offset(取得開始位置)

と書くことで、(取得開始位置)から情報をとってくることができる。

User.limit(5).offset(30)

上のコードは、30件目以降から5件ユーザーの情報をとってきて。ということになる。

randメソッドとは、疑似乱数を生成してくれるメソッド。 疑似乱数とは、乱数のように見えるが、確定的な計算によって、つまり、乱数っぽく見せてるだけで、決まってるよ、というもの。

rand(5) # 5未満の整数で返す
rand(3..8) # rangeで指定された範囲の値を返す。3以上8以下で結果を返す

2つからタイトルの

offset(rand(User.count)).first

が何を言っているのかは、ユーザーの数(User.count)未満でランダムな数字から始まるデータの1つ目を取ってきてちょうだい。ということになる。