Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails:如何在外部使用javascript变量<;脚本…/>;但是在视野之内呢?_Javascript_Ruby On Rails - Fatal编程技术网

Rails:如何在外部使用javascript变量<;脚本…/>;但是在视野之内呢?

Rails:如何在外部使用javascript变量<;脚本…/>;但是在视野之内呢?,javascript,ruby-on-rails,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", :

在一个视图中,我有一个脚本(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} %>
some_view.html.erb
var seq=可排序的序列(“列表”);
#如何做到这一点?可能吗?
“命令”,
:complete=>视觉效果(:突出显示,“列表”),
:滚动=>“列表”,
:url=>{:action=>“order”,:order\u init=>seq}%>

谢谢大家!

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


您需要的是功能性(异步JavaScript)

如果在JavaScript处理之后声明变量的是真正的JavaScript,那么您需要以另一种方式进行操作。如下所示(将
脚本
块移动到HTML下方,否则此示例将失败):

你好,我的名字是 var name=“世界”; document.getElementById('name')。innerHTML=name;
这样,脚本运行后,客户端的HTML中将替换该名称。

很抱歉,我今晚有点忙。也许这有助于解释我自己。我正在尝试这样做:var seq=Sortable.sequence('list');“顺序”,“完成=>视觉效果(:突出显示,“列表”),:url=>{:操作=>“顺序”,“顺序初始化=>序列}%>
<h2> Hello, my name is <span id="name"></span></h2>

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