Rails 上的 Ruby - 如何 select 我想从 seed.rb 文件中呈现哪些数据?

Ruby on Rails - how do I select which data I want to render from seed.rb file?

我的 rails 应用程序中有一个 seed.rb 文件,其中包含 151 个对象。

在我的 .html 文件中,我能够渲染 seed.rb 文件中的所有对象。

  <tbody>
    <% @pokemon.each do |pokemon| %>
      <tr>
        <td class="col-md-6">
          <a href="/pokemon/<%=pokemon.no%>"><%= pokemon.name %></a>
          <br>
          <%= pokemon.no %>
        </td>
      </tr>
    <% end %>
  </tbody>

如何渲染一个对象或特定对象?

这是我的种子数据的示例:

精灵宝可梦 = Pokemon.create({ no: '001', name: 'Bulbasaur' })

精灵宝可梦 = Pokemon.create({ no: '002', name: 'Ivysaur' })

精灵宝可梦 = Pokemon.create({ no: '003', name: 'Venusayr' })

您真的只想渲染一个实例吗?如果是这样,您只需要在控制器中使用基本 ruby 来获取一个实例。打开 rails 控制台和 运行

Pokemon.count

您应该会看到保存的记录总数。在控制器中设置实例变量

@pokemon = Pokemon.first
@pokemon = Pokemon.last
Pokemon.find(n) # where n equals the id of the instance you want to display

但是您的问题听起来像是您想显示所有实例并使用 bootstrap 将它们显示在网格中。您已经获取了所有实例并循环遍历它们。您需要阅读 bootstrap 以使用不同的 类 来获得所需的外观。

在您当前的代码中,@pokemon 是一个保存活动记录调用结果的数组 Pokemon.all,这意味着在视图中您可以使用

@pokemon.first

显示一个实例。虽然,这不是一种非常有效的做事方式。