登录到Rails App后徽标无法加载

问题描述 投票:0回答:1

我的徽标会在本地RoR应用程序中加载。但是,当我登录时,每次都无法加载。但是,如果我重定向到同一页面,它将再次加载。我不确定我是否理解问题所在。

指向我的项目的链接可以在这里https://github.com/dlyons8/family-and-community中找到。

ruby image ruby-on-rails-5
1个回答
0
投票

无法加载徽标,因为在以用户身份成功登录后,您的路径已更改。会话控制器将把用户重定向到/users/:user_id

src标记中的受影响的<img>属性包含“ logo.png”,因此浏览器尝试获取不会成功的/users/logo.png

您有两个选择:

[1)将徽标更改为资产。这是资源的常用模式,例如,在更改徽标时,对以后的部署有很大帮助。将logo.png移至app/assets/images,然后在app/views/layouts/application.html.erb中使用image_tag帮助器:

<%= image_tag 'logo.png', alt: 'Logo' %>

这样,您将始终获得徽标(/assets/logo.png)的绝对路径,而不必担心用户实际在哪里。

<img>标记中的

2]更改路径为徽标(/logo.png)的绝对路径,它将尝试获取正确的文件。

2)解决方案会更容易,但是我强烈建议您与Rails中的Asset Pipeline联系,因为它确实对处理网页的静态资产有很大帮助。

此外,如果遇到非加载资产,请始终检查浏览器的控制台。在Google Chrome浏览器中,只需按F12并切换到Console标签即可找到它,将出现红色错误消息,提示无法加载哪些资源以及原因。显示的完整URL通常有助于解决这些问题。

© www.soinside.com 2019 - 2024. All rights reserved.