Rails图像是在一个控制器而不是另一个控制器中加载的?

时间:2016-09-03 21:12:57

标签: ruby-on-rails

我的rails应用程序中的相同图像正在加载一个控制器而不是另一个。

在我的static_pages / about.html.erb中,我有一个加载得很好的图像:

<img src="assets/danish_flag.gif" class="img-responsive img-circle" alt="Denmark" height = "28px" width = "36px">

在我的users / show.html.erb中,我有一个部分

<%= render partial: "layouts/backdrop", locals: { :user => @user } %>

除了位于其中的图像标记之外加载正常,这与我的static_pages图像中的图像相同:

<img src="assets/danish_flag.gif" class ="img-responsive img-circle" alt="Denmark 4eva" height="28px" width ="36px">

我也尝试过:

<img src="assets/images/danish_flag.gif" class ="img-responsive img-circle" alt="Denmark 4eva" height="28px" width ="36px">

但都没有加载。将加载一个带有小问号的空白框。

如果我检查源并单击应链接到图像的路径,我只会得到未加载的404资源。

为什么会这样?我有几个像这样的图像,它们在static_pages控制器视图中完全加载,并且不会加载到我的其他控制器中。观点(相同的图像)。

图像位于资产/图像中。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用Rails assets helpers为您生成正确的路径:

<%= image_tag( 'danish_flag.gif', 
                class: "img-responsive img-circle", 
                alt: "Denmark 4eva",
                height: 28,
                width: 36
) %>