Ruby on rails 如何在rails视图中访问javascript变量
是否有任何方法可以访问rails视图中的javasript变量。 我只是设置了javascript变量的一些值,并希望在rails视图中访问它Ruby on rails 如何在rails视图中访问javascript变量,ruby-on-rails,Ruby On Rails,是否有任何方法可以访问rails视图中的javasript变量。 我只是设置了javascript变量的一些值,并希望在rails视图中访问它 谢谢您必须了解视图中的ruby代码是在服务器上执行的,而页面上的任何javascript都是在执行更改之前执行的 这就是为什么你不能做这样的事情: <script> var js_var = 1; </script> <%= get_value_of_js_var_somehow %> var js_var=
谢谢您必须了解视图中的ruby代码是在服务器上执行的,而页面上的任何javascript都是在执行更改之前执行的 这就是为什么你不能做这样的事情:
<script>
var js_var = 1;
</script>
<%= get_value_of_js_var_somehow %>
var js_var=1;
另一种方法是:
<script>
var js_var = <% generate_value_with_ruby %>;
do_something_in_javascript_with_js_var();
</script>
var js_var=;
用js\u var()在javascript中做些什么;
您可以使用AJAX将javascript变量传递给rails。例如,如果要从javascript将用户id传递给rails控制器中的方法,可以执行以下代码:
<script>
var id = 1;
<%= remote_function :url => {:controller=>'controller_name', :action=>'method_name'}, :with => "'user_id=' + id" %>
</script>
希望我已经回答了您的问题。如果您在更高的Javascript片段(本身为application.js)中有这个Javascript变量,那么您总是可以在视图中引用它
#application.js
var someVar = "Hello World";
然后在您的视图中(在客户端上执行),您可以
<script type='text/javascript'>
alert(someVar);
</script>
警报(someVar);
如果这三篇文章中有一篇不能回答你的问题,我想我们需要更具体的ellaboration
<script type="text/javascript">
var a="some value";
document.getElementById('tagid').innerHTML='<%= tag(:div,content_tag(:p,' " +a+ " '), :id=>' " +a+ " ', name=>"somename") %>';
</script>
var a=“某些值”;
document.getElementById('tagid')。innerHTML=''“+a+”,name=>“somename”)%>;
下面是一个非常简单的例子,如何“用javascript做某事”-
<script type="text/javascript">
var a="some value";
document.getElementById('tagid').innerHTML='<%= tag(:div,content_tag(:p,' " +a+ " '), :id=>' " +a+ " ', name=>"somename") %>';
</script>