1

Я использую плагин mapstraction-rails, и он отлично работал в версии 2.3 рельсов. Когда я модернизировал версию рельсы 3.2 я начал получать эту ошибку и карта не загружаетсяПроблема с mapstraction-rails JS

TypeError: this.location.toProprietary is not a function   

options.position = this.location.toProprietary(this.api); 

В поджигатель я вижу ошибку в файле: mxn.googlev3.core.js в строке 484.

JQuery версия такой же, как используется в рельсах 2,3 т 1,4

Я использую

@map.initialize_map(:onload=>false) #=> in rails 2.3 

<%= @map.initialize_map(:onload=>false).first.html_safe %> #=> in rails 3.2 as this method returns the array with one element me in it. 

метод в теге сценария для вызова функции whic h показывает карту.

Я проверил этот элемент this.location.toProprietary (this.api); в firebug, и кажется, что этот «элемент» отличается в рельсах 3.2. Пожалуйста, снимки экрана.

В рельсах 2,3

enter image description here

В рельсах 3.2

enter image description here

ответ

1

Существует файл в плагином Lib/mapstraction/latlon.rb.

Он имеет метод:

def to_html 
    html =[] 
    html << "new mxn.LatLonPoint(#{@latitude},#{@longitude})" 
    return html 
end 

Я изменил возвращаемое значение и «этого» объект в JavaScript был таким же, как это было в рельсах 2.3 версии.

Модифицированный метод:

def to_html 
    html =[] 
    html << "new mxn.LatLonPoint(#{@latitude},#{@longitude})" 
    return html.join(" ").html_safe 
end 
Смежные вопросы