Почему на странице html находится текстовый узел, содержащий запись базы данных? - PullRequest
0 голосов
/ 30 мая 2020

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

Я думаю, это вызвано этой строкой кода:

<%= @workspace.items.each do |item| %>

<tr>
    <td><%= item.name %></td>
    <td><%= item.owner %></td>
    <td><%= item.quantity %></td>
    <td><%= item.details %></td>

    <td><%= link_to 'Edit Item', edit_workspace_item_path(@workspace,item) %></td>

    <td><%= link_to 'Delete', [item.workspace, item],
            method: :delete,
            data: { confirm: 'Are you sure?' } %></td>
</tr>

Представление. html .erb:

<p>
    <strong>Name:</strong>
    <%= @workspace.name %>
</p>
<p>
    <strong>maxitem:</strong>
    <%= @workspace.max %>
</p>
<p>
    <strong>details:</strong>
    <%= @workspace.details %>
</p>
<p>
    <%= link_to 'Edit Phase', edit_workspace_path(@workspace) %>
</p>
<p><strong>Items</strong>
</p>
<p>
    <%= link_to 'Add Item', new_workspace_item_path(@workspace) %></br>
</p>
<table>
    <tr>
    <tr>
        <th><strong>Name</strong>
        <th><strong>Owner</strong>
        <th><strong>Quantity</strong>
        <th><strong>Details</strong>
    </tr>
    <%= render 'items/item' %>
</table>
<%= link_to 'Back to List of Phases', workspaces_path %>

Я не знаю, почему это внезапно появляется на моем сайте вот так

1 Ответ

2 голосов
/ 30 мая 2020
<%= @workspace.items.each do |item| %>

- это проблема, поскольку <%= %> в ERB означает «распечатать это». Должно быть <% %>, что будет выполнять код Ruby без его рендеринга.

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