Рельсы со странным тегом # <Game: 0xb6783820> - PullRequest
0 голосов
/ 08 января 2012

У меня есть простая страница, которая отображает некоторые «Игры».

Вот код:

<ul>
    <%= @tvshow.games.each do |game| %>
    <li><%= game.gameTitle %></li>
    <% end %>
</ul>

Отображается так:

The All-Syrup Squishee
#<Game:0xb6783820>

При появлении тега #Game ПОСЛЕ элемента списка, но перед закрывающим тегом списка. Есть идеи, почему он появляется или как я могу от него избавиться?

Ответы [ 2 ]

4 голосов
/ 08 января 2012

<%= выводит результат в виде разметки, в данном случае это экземпляр класса Game.

Для этого вида цикла вы хотите использовать <%, который выполняет некоторый код, но не производит разметку.

Отредактируйте строку 2, чтобы прочитать <% @tvshow.games.each do |game| %>

1 голос
/ 08 января 2012

Удалите свой первый = из строки с each

Rails печатает результат оператора each, который возвращает сам массив. Когда вы выводите массив, вы выводите .to_s каждого его содержимого, которое в вашем случае является представлением Game объектов

по умолчанию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...