Help us understand the problem. What is going on with this article?

Railsでのランダム表示を実装してみた 簡単![初心者向け]

初めに

ポートフォリオを作成するにあたり、ランダム表示を実装しました。
プログラミング歴4ヶ月の初学者でも簡単に実装できたのでメモを残します。
もし良かったら、参考にしてみてください。

環境

・Ruby '2.3.8'
・Rails '5.2.3'

前提条件

bookというテーブルに、titleとcontentカラムがあるとします。

実装方法

実装方法はは簡単でコントローラーとビューに記述するだけです。

コントローラー

books_controller.rb
#5件表示
@random = Book.order("RANDOM()").limit(5)

#全件表示
@random = Book.order("RANDOM()").all

limitを設定することで表示される件数を指定することができます。

注意点

mysqlを使用しているとエラーが発生します。
その場合は、以下のように記述する必要があります。
(*RANDOMをRANDにしないといけません。)

books_controller.rb
#5件表示
@random = Book.order("RAND()").limit(5)

#全件表示
@random = Book.order("RAND()").all

ビュー

index.html.erb
<% @random.each do |book| %>
  <%= book.title %>
  <%= book.content %>
<% end %>

以上で実装完了です。

参考資料

railsでランダムに複数のレコードを取得する

最後に

たったこれだけで実装できます。
もし良かったら試してみてください。

最後までお付き合い頂きましてありがとうございます。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away