我需要一些Ruby on Rails和Sqlite3的帮助。
这就是我做了四次:
<%= Bullet.select(:content).order('random()').limit(1).collect { |b| b.content } %>
但是,不是四个不同的随机“子弹”,它将从我拥有的子弹列表中随机选择四个相同的子弹。
我也试过通过随机()限制4从子弹中选择*;在sqlite3中(使用程序sqliteman)并且还通过random()限制1从子弹中执行select *;四次。
有关如何通过访问数据库表和使用嵌入式ruby(.erb)在Ruby on Rails中成功完成此操作的想法吗?
我是一个新手,所以我需要知道在哪里放什么。 (例如我正在显示拉出的子弹内容的文件是show.html.erb,其控制器是students_controller.rb |我也在使用sqliteman所以我需要知道我是否对此做了什么。)
答案 0 :(得分:0)
立即尝试:
<% random_bullets = Bullet.all %>
<ul>
<% random_bullets.shuffle.first(4).each do |r| %>
<li><%= r.content %></li>
<% end %>
</ul>
修改强>
这个新方法将获得random_bullets
数组,将其洗牌并获得4个第一个子弹
这样,它总是不同的子弹。