首页 > 解决方案 > Ruby 在单词之间添加了奇怪的间距

问题描述

我的网站正在打印(SnO)之类的元素,但是,它应该打印 SnO,但它添加了一个奇怪的空格,并且它正在打印像 SnO。它无缘无故地在元素之间添加了一个空格。我的代码在下面列出。

<% 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 %>

标签: ruby-on-railsruby

解决方案


您显示的代码充满了空格(在每行的开头)。这些打印在 HTML 上并压缩为一个空格。此外,当您打印一个值时,它会在末尾添加一个空格,您可以取消该<%= ... -%>符号(注意末尾的破折号)

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

无论如何,我会将所有这些逻辑转移到辅助方法中,这就是辅助方法的用途。


推荐阅读