Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 在我的所有Rails视图中注入任意Javascript_Ruby On Rails 3_Render - Fatal编程技术网

Ruby on rails 3 在我的所有Rails视图中注入任意Javascript

Ruby on rails 3 在我的所有Rails视图中注入任意Javascript,ruby-on-rails-3,render,Ruby On Rails 3,Render,我正试图实现一个javascript跟踪器,我需要在我的应用程序呈现的所有视图上任意注入该跟踪器,就像newrelic客户端工具一样 我的应用程序允许用户编辑他们的液体html模板,所以这样做的想法是以用户无法删除的方式注入脚本(自动添加) 我在newrelic gem中查看了代码,但是太混乱了,我想知道是否有更简单的方法来实现它 提前谢谢 我有一个解决方案,您可以编写一个中间件,您可以在其中检查 如果请求是html页面或(css或javascript) 如果请求是针对html页面的 在向服务器

我正试图实现一个javascript跟踪器,我需要在我的应用程序呈现的所有视图上任意注入该跟踪器,就像newrelic客户端工具一样

我的应用程序允许用户编辑他们的液体html模板,所以这样做的想法是以用户无法删除的方式注入脚本(自动添加)

我在newrelic gem中查看了代码,但是太混乱了,我想知道是否有更简单的方法来实现它


提前谢谢

我有一个解决方案,您可以编写一个中间件,您可以在其中检查

如果请求是html页面或(css或javascript)

如果请求是针对html页面的

在向服务器发送响应之前,将javascript附加到html页面

这里是你需要的陷阱非常确定你在做什么我遇到了这个问题

  • 确保中间件的位置是正确的,因为开发的一切都是单线程的,错误的位置将导致死锁错误

  • >P>当HTML页面考虑如果请求是Ajax请求时,那么你必须非常具体地看待


    希望这有帮助

    谢谢!这很好,但我担心我无法从中间件访问控制器实例,我必须从中间件获取关于当前用户和站点的大量信息(我的应用程序是多站点的,saas风格)@toñoSilvaPortell,我认为这也可以做到,只要确保中间件位置正确即可