【问题标题】:Ruby on Rails - Encoding Error - InvalidByteSequenceError - \xB4 on UTF-8Ruby on Rails - 编码错误 - InvalidByteSequenceError - UTF-8 上的 \xB4
【发布时间】:2017-12-12 07:36:28
【问题描述】:

Rails 版本:5.1.4
我想链接来自“app/assets/images/logo.png”的图像。
档案index.html.erb

<body>
    <%= link_to image_tag('logo.png') %>
</body>

当我运行时,它给了我一个错误:Encoding::InvalidByteSequenceError 和描述显示 "\xB4" on UTF-8。 我认为这是保存文件时的编码错误。我尝试将所有文​​件保存为 UTF-8(编辑器 SublimeText),但它仍然无法正常工作。有人遇到同样的错误吗?
谢谢大家!

【问题讨论】:

    标签: ruby-on-rails ruby utf-8


    【解决方案1】:

    您可能需要像下面一样提供root_path

    <body>
       <%= link_to image_tag('logo.png'), root_path %>
    </body>
    

    【讨论】:

    • 你能不能试着把一个*.jpg文件改成看看。还要检查图像的权限和大小。您可能是对的,它也可能与sublime 相关。尝试使用“记事本++”或vim
    【解决方案2】:

    我已经这样做了:

      <%=link_to image_tag('logo.png'), buildings_path %>
    

    此链接将显示为图像,如果单击,将定向到给定路径。

    【讨论】:

      【解决方案3】:
      <%= link_to image_url('logo.png') %>
      

      这是你想要的吗?

      注意:image_tag 会生成一个&lt;img&gt; HTML 元素,其中您的图像作为 src,因此您试图将&lt;img&gt; 作为链接的 href。

      【讨论】:

        【解决方案4】:

        我认为您错过了点击图片上的url,尽管您可以使用给出的解决方案,但它会被重定向,并确保您提供了正确的图片路径logo.png

        <body>
          <%=link_to your_link_path do %>
            <%=image_tag('logo.png') %>
          <%end%>
        </body>
        

        【讨论】:

        • 谢谢您,但仍然无法正常工作。我确保图像logo.png 的路径是正确的。如果路径不正确,会报错。
        • 你有没有把your_path换成你自己的路径
        • 是的,我有。你有什么想法吗?
        • &lt;meta charset="utf-8"&gt; 将此添加到您的application.html.erb 在您的header 标记中
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-01
        • 2015-11-04
        相关资源
        最近更新 更多