Ruby добавляет странный интервал между словами - PullRequest
0 голосов
/ 16 января 2020

Мой веб-сайт печатает такие элементы, как (SnO), однако он должен печатать SnO, но он добавляет странное пространство и печатает как Sn O. Он добавляет пробел между элементами без причины. Мой код указан в списке ниже.

<% saved_element = ""%>
<% sensor.base_material.elests.each_with_index do |elest, v| %>
        <% if elest.element.include? "O" %> 
            <% saved_element = elest %>
        <% else %>
            <%=elest.element.split('-').last %>
            <% if elest.stoich != 1 %>
                <sub><%=elest.stoich.to_i%></sub>
            <% end %>
        <% end %>
        <% if v == sensor.base_material.elests.length-1 %>
            <%=saved_element.element.split('-').last%>
            <% if saved_element.stoich != 1 %>
                <sub><%=saved_element.stoich.to_i %></sub>
            <% end %>
        <% end %>
<% end %>

1 Ответ

3 голосов
/ 17 января 2020

Код, который вы показываете, заполнен пробелами (в начале каждой строки). Они напечатаны на HTML и сжаты как один пробел. Кроме того, когда вы печатаете значение, в конце добавляется пробел, вы можете подавить этот символ <%= ... -%> (обратите внимание на da sh в конце)

https://www.howtobuildsoftware.com/index.php/how-do/Nzr/ruby-on-rails-erb-suppressing-spaces-in-erb-template

В любом случае, я бы переместил все эти логи c на вспомогательный метод, для этого и нужны вспомогательные методы.

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