1

我整个星期都遇到这个问题,我尝试过的一切都没有奏效,我什至不确定它为什么存在。(这有点像我发布的这个问题的后续。

我将 lightbox2 js 和 css 文件添加到我的 rails 3.2.8 项目中。

我目前在控制台中的每个页面上都出现这些错误,在我的本地环境中(即使是我没有在标记中调用 lightbox 的页面)-

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/assets/images/close.png

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/assets/images/laoding.gif

每个页面上都显示损坏的图像指示符。

在此处输入图像描述

我对 lightbox.js 的路径更改进行了硬编码,以适当地检索上述图像,并且在使用 lightbox 时它们可以正常工作。

  LightboxOptions = (function() {

    function LightboxOptions() {
      + this.fileLoadingImage = '/assets/loading.gif';
      + this.fileCloseImage = '/assets/close.png';
      - this.fileLoadingImage = 'images/loading.gif';
      - this.fileCloseImage = 'images/close.png';
      this.resizeDuration = 700;
      this.fadeDuration = 500;
      this.labelImage = "Image";
      this.labelOf = "of";
    }

当我可以清楚地看到在本地环境中工作的图像时,我不明白为什么会出现这些错误。另一个奇怪的事情是灯箱仍然可以工作,而不必在 application.js 和 application.css 中要求它

这是我的任期的输出-

Started GET "/assets/images/loading.gif" for 127.0.0.1 at 2013-01-06 12:36:31 -0800
Served asset /images/loading.gif - 404 Not Found (11ms)
ActionController::RoutingError (No route matches [GET] "/assets/images/loading.gif"):

和关闭相同(但给出的屏幕截图它显然出现了)

在此处输入图像描述

应用程序.js

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require justgage
//= require raphael.min
//= require jquery.purr
//= require best_in_place
//= require_tree .

(我不需要上面的灯箱吗?)

 *= require jquery.ui.datepicker
 *= require_self
 *= require bootstrap
 *= require_tree .
 */

(我不需要上面的灯箱吗?)

视图中使用的灯箱。

 <div class="row does_description_whole">
    <div class="row offset3">
      <div class="span3 does_description_text">
        <h4>Joe Popular</h4>
        <p>Lorem ipsum hipster bacon.</p>
      </div>
      <div class="span3">
        <a href="https://lh6.googleusercontent.com/picture/joe_does.png" rel="lightbox"><img src="https://lh3.googleusercontent.com/pciture/glance_town.png" class="does_pictures"></a>
      </div>
    </div>  
  </div

为适当的路径编辑了 lightbox.js

我不明白为什么 1. 每个页面都在 GET 请求(错误)图像,即使它们显示得当 2.为什么我不需要 application.js 和 application.css 中的灯箱文件。

感谢您的关注和查看。

4

1 回答 1

0

如果您要使用资产管道,您应该像这样引用图像:

= (link_to image_tag(pic.image_url(:thumb)), pic.image_url, :rel => "group2", :class => "lightbox") if pic.image?

您可以考虑使用link_tohelper 而不是a href. 这:rel =>是指定要浏览的图像的来源。

通常,对图像的引用采用以下格式:

url('yourpng.png')

关于为什么不应该在清单中包含灯箱:您应该在清单中.js.css清单中包含它们。

已解决:归根结底,它就像rm -rf public/assets(@Tmacram 与我们分享了正确的解决方案)一样简单。

于 2013-01-06T22:23:07.643 回答