Вставка значений JavaScript в код erb - PullRequest
0 голосов
/ 20 февраля 2011

У меня есть шаблон js.erb со следующим кодом:

var latlng = new google.maps.LatLng(<%= session[:lat] %>, <%= session[:lng] %>);

Я сейчас пытаюсь сделать наоборот (вставьте JavaScript в ruby):

<% session[:lat] = javascript_tag("document.write(location.lat());") %>

Ответы [ 2 ]

2 голосов
/ 20 февраля 2011

Я думаю, что вы упускаете из виду Javascript.

Ruby-код (<% .. %> части в ваших примерах) запускается на сервере.

Код Javascript (var latlng = new google.maps.LatLng(10, 20); и document.write(location.lat());) выполняется в браузере.
Он также выполняется после кода ruby, когда сервер уже обработал запрос и сгенерировал страницу результатов.

Если вы хотите узнать значение location.lat() на сервере, вам придется отправить его из браузера на сервер в запросе AJAX. В этом поможет любая популярная библиотека Javascript.

0 голосов
/ 24 июля 2011

Может быть, вы могли бы попробовать <%= raw [ruby/rails code] %>
Эта ссылка может помочь: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/a160d9c2e55cfe36

...