从 sqlite 中四个不同行的"'content'"选项卡中发布数据3



我需要Ruby on Rails和Sqlite3的帮助。

这是我做了四次:

<%= Bullet.select(:content).order('random()').limit(1).collect { |b| b.content } %>

但是,它将执行从我拥有的子弹列表中随机选择的四个相同的子弹,而不是四个不同的随机"子弹"。

我也尝试过从随机()限制4的子弹顺序中选择*;在sqlite3中(使用程序sqliteman),并且还通过random()限制1从项目符号顺序中选择*;四次。

关于如何通过访问数据库表并使用嵌入式 ruby (.erb) 在 Ruby on Rails 中成功做到这一点的任何想法?

我有点新手,所以我需要知道把什么放在哪里。(例如,我显示提取的项目符号内容的文件是 show.html.erb,其控制器是 students_controller.rb |我也在使用sqliteman,所以我需要知道我是否用它做了什么。

现在试试这个:

<% random_bullets = Bullet.all %>
<ul>
  <% random_bullets.shuffle.first(4).each do |r| %>
    <li><%= r.content %></li>
  <% end %>
</ul>

编辑

这个新方法将获取random_bullets数组,洗牌并获取前 4 个项目符号。
这样,它总是不同的子弹。

最新更新