У меня проблема с отображением изображений в 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")
Кто-нибудь есть идея, что дальше делать?
Можете ли вы перемещаться по обоим URL-адресам и видеть/получать изображения? И что появляется, если вы запускаете «рейк-маршруты»? – Rik
Я понял, и это было немного глупо. В проводнике файлов я не мог видеть пробел между именем файла reddot.svg. Он был назван «reddot .svg». Как только я подошел к консоли и просмотрел изображение, я увидел ошибку. Спасибо, хотя @rik за вашу помощь! – Samuel