我想在我的JavaScript中使用控制器变量。
由于这不能直接做到。我用宝石。https://github.com/gazay/gon
这样,我所做的就是在我的基本控制器的before过滤器中(充当所有控制器的before过滤器)我做gon.variable_name = value并且在我的js文件中,我使用gon.variable_name。这对于整个页面重新加载都可以正常工作。
但是该变量不会针对ajax请求进行更新。
例如说:
在页面重新加载时,在我的控制器中
gon.variable_name = value1
并在我的js中,gon.variable_name
给了我value1
。
在我的控制器中发出ajax请求后,我做了
gon.variable_name = value2
在我的JS,我仍然可以看到gon.variable_name
的value1
唯一。
有什么办法可以在ajax请求中更新gon.variable_name?
谢谢
我必须为每个请求初始化gon以便更新变量。
include_gon(:init => true)
在每个请求的响应中解决了问题。
额外提示:对于那些使用ajaxify rails gem的用户,您可以在ajaxify_extra_content方法中调用此辅助方法,而在content_inserted回调中,可以将此附加到head标记以使其以常规方式起作用。
感谢您的建议和帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句