2016-04-02 1 views
0

У меня есть файл seed.rb в моем приложении rails, который содержит 151 объект.Ruby on Rails - как выбрать, какие данные я хочу отобразить из файла seed.rb?

В моем .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 ({№: '001', имя: 'Bulbasaur'})

покемон = Pokemon.create ({нет: '002', имя: 'Ivysaur'})

покемон = Pokemon.create ({№: '003', имя: 'Venusayr'})

+0

Вы можете проверить атрибут 'no'? –

+0

@AwladLiton Вы имеете в виду использование атрибута «no» для рендеринга, что я хочу конкретно? Каков правильный синтаксис erb для этого? – John

+0

поиск с атрибутом 'no' для конкретного объекта в' @ pokemon'. –

ответ

0

вы действительно хотите сделать только один экземпляр? Если это так, вам просто нужно использовать базовый рубин в контроллере, чтобы получить один экземпляр. Откройте консоль рельсов и запустите

Pokemon.count 

Вы должны увидеть общее количество сохраненных записей. В контроллере установленного экземпляра переменной

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

Однако ваш вопрос звучит, как вы хотите, чтобы отобразить все экземпляры и использовать загрузчик, чтобы отобразить их в сетке. Вы уже получаете все экземпляры и просматриваете их. Вам нужно будет прочитать загрузку, чтобы использовать разные классы, чтобы получить желаемый вид.

В текущем коде @pokemon является массивом, содержащим результаты активной записи называют Pokemon.all, что означает, по мнению вы можете использовать

@pokemon.first 

для отображения одного экземпляра. Хотя, это не было бы очень эффективным способом делать вещи.

+0

Спасибо, Марго за подробное объяснение! Использование <% = @ pokemon.first.name%> действительно выводит «Bulbasaur» на мой взгляд. – John