Rails:我如何在<script ...>之外但在视图中使用javascript变量?</script ...>

时间:2010-02-11 18:35:16

标签: javascript ruby-on-rails

在视图中,我有一个脚本(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 个答案:

答案 0 :(得分:2)

这是不可能的,因为Rails是一种服务器端语言,javascript是在客户端执行的。

您正在寻找的是AJAX功能(异步JavaScript)

答案 1 :(得分:0)

如果真的javascript在JavaScript处理之后声明变量,那么你需要以相反的方式工作。像这样(移动HTML下方的script块或此示例将失败):

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

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

在脚本运行之后,该名称将在客户端的HTML中替换。