2016-10-22 3 views
0

Я столкнулся с действительно странной (по крайней мере, мне) проблемой. Когда я набираю URL вручную, нагрузка на карту просто прекрасна, однако, когда я использую ссылку (либо рельсы, либо href), карта не будет загружаться, пока я не удалю обновление.Rails link_to не загружается карта лифтов

Любые идеи?

routes.rb

Rails.application.routes.draw do 
    root 'page#map' 
end 

application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title>LeafletTest</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

map.html.erb

<%= link_to("reload page (rails)", root_path) %><br /> 
<a href="\">reload page (a href)</a><br /> 

<div id="mapid"></> 

page.scss

#mapid { 
    width: 100%; 
    height: 600px; 
} 

page.coffee

$ -> 
    map = L.map('mapid').setView([ 
    51.505 
    -0.09 
    ], 13) 
    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors').addTo map 

ответ

0

С помощью некоторых других должностей, я, наконец, обнаружил, что это было связано с Turbolinks, и как она вызывает загрузку страницы. Добавление атрибута data: { turbolinks: false} к моей ссылке rails помогло очистить его. Я предполагаю, что это будет работать (с правильным форматированием) для ссылки без рельсов.

Смежные вопросы