Rails: Как мне использовать переменную javascript вне <script ... />, но внутри представления? - PullRequest
3 голосов
/ 11 февраля 2010

В представлении у меня есть скрипт (javascript), который объявляет переменную после некоторой глубокой обработки. Как я могу использовать эту переменную за пределами скрипта на той же странице просмотра?

some_view.html.erb

<script>var seq = Sortable.sequence('list');</script>

# How to do this? Is it possible?

<%= sortable_element "list",
  :update => "order",
  :complete=> visual_effect(:highlight, "list"),
  :scroll => 'list',
  :url=>{:action=>"order", :order_init => seq} %>

Спасибо!

Ответы [ 2 ]

2 голосов
/ 11 февраля 2010

Это невозможно, поскольку Rails - это язык на стороне сервера, а javascript выполняется на стороне клиента.

Вам нужны функции AJAX (асинхронныйJavaScript)

0 голосов
/ 11 февраля 2010

Если это действительно javascript, который объявляет переменную после обработки JavaScript, то вам нужно работать наоборот. Вот так (переместите блок script ниже HTML, или этот пример не удастся):

<h2> Hello, my name is <span id="name"></span></h2>

<script type="text/javascript">
   var name = "World";
   document.getElementById('name').innerHTML = name;
</script>

Таким образом, после запуска скрипта имя будет заменено в HTML на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...