2016-08-11 2 views
-1

У меня проблема с отображением изображений в Rails. У меня два изображения (bluedot.svg и reddot.svg). Bluedot.svg будет показан на веб-сайте. Reddot.svg не отображается на веб-сайте. Я пытаюсь отобразить точки в виде маркеров на карте google. Вот мой код.SVG-изображение не найдено в Rails

Для Голубого маркера:

var iconBlue = { 
    url: "<%= image_path('bluedot.svg') %>", // url 
    scaledSize: new google.maps.Size(80, 70), // scaled size 
    origin: new google.maps.Point(0,0), // origin 
    anchor: new google.maps.Point(0,0) // anchor 
}; 

var marker = new google.maps.Marker({ 
    map: map, 
    position: geolocate, 
    icon: iconBlue, 
    animation: google.maps.Animation.DROP, 
    title: "Current Location", 
    html: 
    '<div class=MarkerPop>' + 
     '<p>Latitude: '+ position.coords.latitude + '</p>' + 
     '<p>Longitude: '+ position.coords.longitude + '</p>' 
}); 

Для Красных маркеров:

var iconRed = { 
    url: "<%= image_path('reddot.svg') %>", // url 
    scaledSize: new google.maps.Size(80, 70), // scaled size 
    origin: new google.maps.Point(0,0), // origin 
    anchor: new google.maps.Point(0,0) // anchor 
}; 

$.each(locationId, function() { 
    myLatlng = new google.maps.LatLng(locationLat[counter], locationLng[counter]); 
    clearMarkers(); 
    allMarkers.push(new google.maps.Marker({ 
    position: myLatlng, 
    map: map, 
    icon: iconRed, 
    animation: google.maps.Animation.DROP, 
    title: locationName[counter], 
    html: 
      '<div class=MarkerPop>' + 
      '<h1>' + locationName[counter] + '<h1>' + 
      '<h3>' + locationAddress[counter] + '<h3>' + 
      '<p>' + locationComment[counter] + '</p>' + 
      '<div>' 
    }) 
); 

Изображения идентичен только цвет заливок различны. Они находятся в одной папке.

Я попытался прекомпилировать изображения, но это тоже не помогло.

rake assets:precompile 

Я пытался удалить/кэш папку TEMP/активы и папки общего пользования/активы и перезапустить сервер, но это не помогло.

Я изменил расширение файла javascript с map.js на map.js.erb. Это помогло, но не отобразило изображение.

ошибка, что я получаю в консоли Google Chrome:

GET http://localhost:3000/images/reddot.svg 404 (Not Found) 

ошибка, что я получаю в консоли Rails сервера:

ActionController::RoutingError (No route matches [GET] "/images/reddot.svg") 

Кто-нибудь есть идея, что дальше делать?

+0

Можете ли вы перемещаться по обоим URL-адресам и видеть/получать изображения? И что появляется, если вы запускаете «рейк-маршруты»? – Rik

+0

Я понял, и это было немного глупо. В проводнике файлов я не мог видеть пробел между именем файла reddot.svg. Он был назван «reddot .svg». Как только я подошел к консоли и просмотрел изображение, я увидел ошибку. Спасибо, хотя @rik за вашу помощь! – Samuel

ответ

0

Я понял, и это было немного глупо. В проводнике файлов я не мог видеть пробел между именем файла reddot.svg. Он был назван «reddot .svg». Как только я подошел к консоли и просмотрел изображение, я увидел ошибку. Спасибо, хотя @rik за вашу помощь!