LoginSignup
1
1

More than 5 years have passed since last update.

Railsの配列をランダムで取得して、○件のみ表示とする

Last updated at Posted at 2018-04-18

やりたかったこと

hoge_cotroller.rb
@data= [
  ['aaa','AAA','あああ'],
  ['bbb','BBB','いいい'],
  ['ccc','CCC','ううう'],
  ['ddd','DDD','えええ'],
]

みたいな配列を

ランダムに取得してきて、それを5件だけview側に表示する。

ということをやりたかったので、調べてみました。

解決策

こちらを参考に下記のようにしました。

hoge_cotroller.rb
@data= [
  ['aaa','AAA','http://aaa.com'],
  ['bbb','BBB','http://bbb.com'],
  ['ccc','CCC','http://ccc.com'],
  ['ddd','DDD','http://ddd.com'],
・・・・・・・(中略)
  ['zzz','ZZZ','http://zzz.com'],
].sample(5)

hoge.html.erb
<ul>
  <% @data.each do |html_class, text, url| %>
    <li>
      <%= link_to text, url, class: html_class %>
   </li>
  <% end %>
</ul>
1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1