Ruby on Rails - 如何从seed.rb文件中选择要呈现的数据?

时间:2016-04-02 09:19:23

标签: ruby-on-rails ruby erb

我的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 = Pokemon.create({no:'001',名称:'Bulbasaur'})

pokemon = Pokemon.create({no:'002',名称:'Ivysaur'})

pokemon = Pokemon.create({no:'003',名称:'Venusayr'})

1 个答案:

答案 0 :(得分:0)

你真的想渲染一个实例吗?如果是这样,您只需要在控制器中使用基本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以使用不同的类来获得所需的外观。

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

@pokemon.first

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