Rails资产管道找不到某个特定的图像

Jas*_*ett 4 ruby-on-rails-3 asset-pipeline

我有一个叫做的图像ui-icons_ffffff_256x240.png.在生产中,它可以在其他地方找到public/assets/images/ui-icons_ffffff_256x240.png.

当我尝试在生产中查看此图像时,出现以下错误:

ActionController::RoutingError (No route matches [GET] "/assets/images/ui-icons_ffffff_256x240.png"):
Run Code Online (Sandbox Code Playgroud)

我发现这非常奇怪,因为图像肯定存在:

$ find . -name ui-icons_ffffff_256x240.png
./vendor/assets/stylesheets/jquery-ui/images/ui-icons_ffffff_256x240.png
./public/assets/jquery-ui/images/ui-icons_ffffff_256x240.png
./public/assets/images/ui-icons_ffffff_256x240.png
Run Code Online (Sandbox Code Playgroud)

我的应用程序中的所有其他图像工作正常,并一直是永远.我最近升级了我的jQuery UI版本,并且这个特定的图像不想工作.(我认为这是我实际使用的唯一的jQuery UI图像.)

我在Rails 3.2.1上.可能是什么问题?

Sou*_*amy 6

您的js插件请求包含无效资产网址的图片.资产图像可以通过访问

/assets/ui-icons_ffffff_256x240.png
Run Code Online (Sandbox Code Playgroud)

但请求的网址是

/assets/images/ui-icons_ffffff_256x240.png
Run Code Online (Sandbox Code Playgroud)

因此,在您的javascript或样式表中,您需要手动更正资产网址.