1

私はこの問題を一週間ずっと抱えていましたが、試したすべてがうまくいかず、なぜそれが存在するのかさえわかりません。(これは、私が投稿したこの質問のフォローアップのようなものです。

lightbox2jsファイルとcssファイルをrails3.2.8プロジェクトに追加しました。

現在、コンソールのすべてのページ(ローカル環境(マークアップでライトボックスと呼んでいないページでも))でこれらのエラーが発生しています-

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へのパス変更をハードコーディングしました。これらの画像は、ライトボックスを使用した場合と同じように機能します。

  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";
    }

ローカル環境で画像が機能しているのをはっきりと確認できるのに、なぜこれらのエラーが発生するのかわかりません。もう1つの興味深い点は、ライトボックスが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"):

クローズについても同じです(ただし、スクリーンショットを指定すると、明らかに表示されます)

ここに画像の説明を入力してください

application.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_toの代わりにヘルパーの使用を検討できますa href。は:rel =>、参照する画像のソースを指定しています。

通常、画像への参照は次の形式になります。

url('yourpng.png')

.jsマニフェストにライトボックスを含めない理由について:マニフェストとマニフェストの両方にライトボックスを含める必要があります.css

解決済み:そして、結局のところ、それは単純でしたrm -rf public/assets(@Tmacramが適切なソリューションを私たちと共有しました)。

于 2013-01-06T22:23:07.643 に答える