[英]pass a parameter from a views to a javascript
我的main_controller.rb
有下一个变量:
def create:
@token = "24vgd32"
end
在我的views/create.erb
,我写道:
<%= javascript_tag do %>
window.my_token = '<%= j @token %>';
<% end %>
通过这种方式,我可以在此页面引用的任何JavaScript文件中使用此变量。
但是如何在我的application.js
使用它?
这是我的application.js
:
$(document).ready(function(){
licensario.getLicense({
wizardToken: my_token
});
});
任何帮助赞赏!
在你的create.html.erb中使用它
<%= hidden_field_tag :my_token, @token, :id => 'some_field_id' %>
用所需的名称替换some_field_id和my_token 。
在您的javascript文件中
$(document).ready(function(){
token = $('#some_field_id').val();
//use your token for any other means.
});
我看到3种方式:
application.js.erb
。 但是,在编译文件时,您要传递的数据必须可用,因此这可能不是您想要做的; <body data-my-value="32">...
您可以通过执行$('body').data('my-value')
在js中检索它。 加载dom后,请小心调用此方法。 我倾向于使用后者。
window.my_token
使my_token
成为全局范围的变量; 一旦它被定义它是提供给application.js
简单地my_token
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.