Rails 3 – 包括View上的JavaScript?

这就是我正在尝试做的事情….当用户登录并重定向到登录页面时,我想运行一些jquery ajax来抓取并注入一些内容。

我最初在我的application.js文件中有它,但问题是代码存在于没有登录的用户,这意味着我必须添加逻辑来解决看起来不干净的问题。

我想要的是调用视图以便能够包含JavaScript ….我尝试在视图文件中粘贴它但是失败了,因为它是在页面底部的JQUERY之前加载的。 。

Rails 3大师如何处理这个问题? 谢谢!

好吧,你可以在顶部包含jQuery文件。

如果这不是一个选项,请在jQuery include下面的布局中添加<%= yield :javascript %> ,并执行:

 <% content_for :javascript do %>  <% end %> 

它将被放置在您的布局中的适当位置。 (但是,出于缓存的考虑,我建议您在外部文件中编写Javascript并在必要时包含它而不是使用内联Javascript。只是好的做法。)

从Google CDN加载jQuery并在之后加载您的视图特定JS。 如果您担心未登录用户的目标网页速度,请将其页面缓存。

如果您仍想进一步优化它,请使用像Sqiud这样的反向代理。 您还可以使用Jammit或Asset Packager(http://synthesis.sbecker.net/pages/asset_packager)来最小化您的javascript和CSS。

建议,在完成应用程序编写后,您应该集中精力完成性能工作,很容易陷入低优先级问题,这会阻碍您的开发工作。

如果你刚刚在文档中加载jQuery,那么你自己会更轻松。 如果您从Google API加载它,那么无论如何它都可能会缓存在您客户端的浏览器中,因此页面加载时间的可忽略不计的增加就完全没有了。