图像显示在一个页面上,但不会显示在使用几乎完全相同的代码的另一个页面上

时间:2012-08-16 06:42:07

标签: ruby-on-rails-3

我到处搜索过这方面的帮助,但我想出的唯一答案就是为什么图片根本不会出现的问题。这是我的问题:

在我的Rails CRM应用程序中,我为“联系人”创建了一个脚手架。我在ThemeForest上购买了一个使用Bootstrap的模板,并将所有CSS和javascript文件复制到我的Vendor目录中。该模板附带了许多HTML文件。我选择了一个并将其用作我的主要联系人列表。我使用“datatables.net”gem来显示联系人列表。这个特定的HTML文件包含许多图像,主要用于按钮。所有图像都在此页面上正确显示。

在我的编辑联系人页面上,我复制并粘贴了联系人列表页面中的所有HTML,并插入了一个Form For Part代替联系人列表表格,以显示特定联系人的可编辑字段。首先,此页面上的所有图像都不起作用。我做了一些关于资产管道的阅读,发现图像源应该是“asset / image_name.png”而不是“images / image_name.png”。 (我已将我的所有图像复制到assets / images文件夹。)我很困惑为什么主要联系人列表页面上的图像可以工作,但编辑页面不会。无论如何,我做了“/ images /”的查找和替换,并将其替换为“/ assets /”。这修复了编辑联系人页面上约2/3的图像。其余的,我仍然在Rails服务器上得到以下错误:

于2012-08-15 23:40:42 -0700开始获取127.0.0.1的“/contacts/assets/icons/quickstats/user.png”

ActionController :: RoutingError(没有路由匹配[GET]“/contacts/assets/icons/quickstats/user.png”):

这是我在查找/替换之前得到的相同错误。

1 个答案:

答案 0 :(得分:0)

问题是你可能正在使用“assets / blah.png”而不是“/assets/blah.png”。这将适用于根网址,但不适用于更深层次的内容,例如。 “/联系人/新”。

不要输入网址,而是使用image_tag帮助程序,它将为您处理这些内容。