フォルダからすべてのイメージを表示するには、ブートストラップカルーセルのHAMLテンプレートを使用しています。イメージは正しくHTMLに挿入されますが、表示されません。サイズは0です。0 * 0px
画像は、0×0ピクセルのサイズで表示しないでください。これを設定するCSSプロパティはありません。要素の幅はCSSでは100%に設定され、ブラウザコンソールでサイズを変更しても何もしません。
すべての画像はブラウザから直接アクセスできます(http://localhost:4567/car-images/fb_1.jpgなど)。404エラーはありません。
これはRubyコードのブロックとのHAMLテンプレートです:
.col-sm-6#carousel
.carousel.slide#myCarousel{ "data-ride" => "carousel", :style => "height:inherit"}
%ol.carousel-indicators
.carousel-inner{ :role => "listbox"}
- @images.each do |image|
.item
%img{ :src => "car-images/#{image}"}
%a.left.carousel-control{ "data-slide" => "prev", :href => "#myCarousel", :role => "button"}
%span.glyphicon.glyphicon-chevron-left{ "aria-hidden" => "true"}
%span.sr-only Previous
%a.right.carousel-control{ "data-slide" => "next", :href => "#myCarousel", :role => "button"}
%span.glyphicon.glyphicon-chevron-right{ "aria-hidden" => "true"}
%span.sr-only Next
そして、これは、それがブラウザでレンダリングする方法です:
また<div class='col-sm-6' id='carousel'>
<div class='carousel slide' data-ride='carousel' id='myCarousel' style='height:inherit'>
<ol class='carousel-indicators'></ol>
<div class='carousel-inner' role='listbox'>
<div class='item'>
<img src='car-images/fb_1.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_2.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_3.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_4.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_5.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_6.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_7.jpg'>
</div>
<div class='item'>
<img src='car-images/fb_8.jpg'>
</div>
</div>
<a class='left carousel-control' data-slide='prev' href='#myCarousel' role='button'>
<span aria-hidden='true' class='glyphicon glyphicon-chevron-left'></span>
<span class='sr-only'>Previous</span>
</a>
<a class='right carousel-control' data-slide='next' href='#myCarousel' role='button'>
<span aria-hidden='true' class='glyphicon glyphicon-chevron-right'></span>
<span class='sr-only'>Next</span>
</a>
</div>
</div>
、ビューを実行しているRubyコード:
require 'sinatra'
require 'haml'
$car_img_dir = 'public/car-images'
get '/' do
@images = Dir.foreach($car_img_dir).select { |x| File.file?("# {$car_img_dir}/#{x}") }
haml :index
end
get '/about' do
haml :about
end
get '/products' do
haml :products
end
私は約2.5時間この問題を解決しようとしており、初心者でもありませんlutions。
グローバル変数 '$ car_img_dir'を使用しています。いつ、なぜグローバルを使うべきかを理解するまでは、そうしないでください。代わりに、可変範囲と定数の使用方法について学びます。 –