首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails 4:将变量传递给javascript

Rails 4:将变量传递给javascript
EN

Stack Overflow用户
提问于 2015-03-05 13:20:14
回答 4查看 23.4K关注 0票数 9

我尝试了许多方法,并遵循Ryan Bates'指南,但无论我做什么,我仍然没有定义。

application.html.erb

代码语言:javascript
复制
<body>
 <%= content_tag :div, id: 'trackers', data: {trackers: User.count} do %>
 <% end %>
</body

application.js.erb

代码语言:javascript
复制
var datadump = ($('#trackers').data('trackers'))
console.log(datadump)
//returns undefined in console

查看页面源代码我可以看到变量

代码语言:javascript
复制
<div data-trackers="2" id="trackers">

为了简单起见,我暂时传递了User.count,但我需要传递@trackers_count,它是在应用程序控制器的before_action中实例化的。不过,一旦我弄清楚了这里的问题,我就应该能够解决这个问题。有什么建议吗?

UPDATE -我已经将所有变量简化为跟踪器,而不是trackers_count,以防止任何语法错误,并在此处更新代码以反映这一点。

答案更新-我选择了正确的答案,因为如果您想传递CURRENT_USER之外的任何变量,这些方法都工作得很好。但是,您不能在JS中使用current_user访问任何内容,因为它在窗口之前加载,因此它无法知道current_user是谁。这真的很痛苦,但我只是走了很长一段路,通过传入json和一个ajax请求来访问我需要的信息。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28870567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档