Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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
Javascript 将rails变量传递到js文件_Javascript_Ruby On Rails - Fatal编程技术网

Javascript 将rails变量传递到js文件

Javascript 将rails变量传递到js文件,javascript,ruby-on-rails,Javascript,Ruby On Rails,我有一个js文件,我想在其中传递一些Rails变量,比如url。我所做的是: #main.haml.html <script type="text/javascript"> var myUrl = <%=some_url%>; </scirpt> #script1.js $.ajax({ method: 'POST', url: myUrl, success: function(data) { //.......... },

我有一个js文件,我想在其中传递一些Rails变量,比如url。我所做的是:

#main.haml.html

<script type="text/javascript">
  var myUrl = <%=some_url%>;
</scirpt>

#script1.js
$.ajax({
  method: 'POST',
  url: myUrl,
  success: function(data) {
    //..........
  },
  error: function(a, b, c) {
        //..........
  }
});
#main.haml.html
var myUrl=;
#script1.js
$.ajax({
方法:“POST”,
url:myUrl,
成功:功能(数据){
//..........
},
错误:函数(a、b、c){
//..........
}
});

我认为这似乎是正确的做法。这是惯用的做法吗?有更好的方法吗?

Rails上有一个关于这个主题的插曲


通常,您可以将执行脚本放在window对象下,或者创建一个html div来保存数据。由于这些问题对浏览器环境来说更为静态

因此,最好在codereview:。但我要说的是:您所做的并没有什么特别的错误,因为这个ajax方法就是为了这个目的而创建的。但是,您需要考虑适当的代码组织。你会有很多ajax调用吗?您的javascript文件的大小是否在增长?你不想在一个日益复杂的javascript文件中到处散播ajax调用,这和我做的不是一样吗?