2013-03-19 40 views
8

我在/assets/javascripts/globals.js.erb中使用了Rails 3.2.13和JavaScript。无论如何要访问JavaScript文件中的Rails助手或控制器数据?像...访问JavaScript中的current_user helper

var App = { 
    globals: { 
    user: { 
     name: '<%= current_user.name %>' 
    } 
    } 
}; 

回答

14

你不能这样做。资产在生产中被编译一次,所以它不应该依赖于请求的状态(如当前用户或传递给请求的参数)。你可以做的最接近的事情就是在你的应用程序布局添加一个全局变量

<script type="javascript"> 
    App.globals.user.name = <%= current_user.name %> 
</script> 
+0

非常感谢你:) – Zeck 2013-03-19 03:16:27

+0

非常相似,但对别人也许有用。 '<%= javascript_tag do%> window.username =“#{j current_user.name}”; <% end %>' – Horacio 2016-04-15 19:00:17

相关问题