如何使用 Rails 3 更新到 jQuery 1.7+?

Posted

技术标签:

【中文标题】如何使用 Rails 3 更新到 jQuery 1.7+?【英文标题】:How can I update to the jQuery 1.7+ using Rails 3? 【发布时间】:2012-01-29 12:42:09 【问题描述】:

我刚刚注意到this error,我需要将我的 Rails 3.1 项目(我没有使用资产管道)升级到 jQuery 1.7+。

我看到我的 javascripts 文件夹 (public/javascripts) 中已经有 jQuery 库。没有手动将新的 jQuery 库复制到那里,是否有使用 Ruby 替换 JavaScript 文件的注释?

【问题讨论】:

将新版本的 jQuery 库复制到您的 public/javascripts 目录有什么问题?当我想在 rails 项目中升级我的一个 javascript 时,我就是这样做的。 我对 Rails 几乎一无所知,但如果可能的话,尝试找出一种外部连接到 jQuery 的 jquery-latest.js 文件的方法。其中包含可用的 jQuery 的最新版本。 【参考方案1】:

在 Rails 3.1 中,jQuery 由 jquery-rails gem 管理。您可以使用更新版本的jquery-rails 来升级您的jQuery 版本。这很容易做到。这是一个完整的解释。

通过从项目根目录运行 gem list 查看您现有的版本。您可能会看到如下内容:

...
i18n (0.6.0)
jquery-rails (1.0.16, 1.0.14, 1.0.13)
json (1.6.1)
...

jquery-rails gem 在 1.0.17+ 版本中使用 jQuery 1.7+。在撰写本文时,Rails 3.1 gem 的最新版本是 1.0.19,它使用 jQuery 1.7.1。这听起来像你想要的!

因此,您无需在 /javascripts 文件夹中放置任何内容。相反,请在 Gemfile 中指定较新版本的 gem。这是我的:

gem "jquery-rails", "~>1.0.19"

有趣的 ~> 字符告诉 bundler 找到至少是您指定的 gem 版本(此处为 1.0.19),以及任何以后的次要版本,但不是下一个主要版本(即 2.0.0对于这个 gem,只支持 Rails 3.2+)。

然后,从项目根目录运行bundle,将为您设置指定的版本。重新启动您的 Rails 应用程序,重新加载页面,您应该能够验证您现在正在处理 jQuery 1.7.1。

告诉我进展如何!

干杯。

【讨论】:

bundle show jquery-rails 是检查您安装的 gem 版本的更快方法。 这对我根本不起作用。我正在运行 2.0.1 并将其更改为 2.1.0,卸载旧的 gem 并安装新的。 jQuery 仍然在 1.8 加载,而它应该是 1.10。【参考方案2】:

在 Rails 4 中,您可以通过以下方式更新 jquery

application.js 清单中

//= require jquery2 //for jquery 2

//= require jquery3 //for jquery 3

【讨论】:

【参考方案3】:

我将 jquery-rails gem 版本更新到了 3.1.2 版本 (输入:bundle show jquery-rails 查看您当前的 jquery-rails 版本,或 gem list 查看所有 gem)

但是我的网页仍在使用过时的 jquery 1.3 版。 要检查您使用的版本,请转到位于 assets/javascripts 文件夹中的 jquery.js 文件,应在此处指定版本。 当然,为了使用 jquery,您还必须在 assets/javascripts/application.js 文件中包含 jquery.js,方法是添加以下行:

//= require jquery

如果您还有其他 JS 库,例如原型,您肯定也想查看此链接: jQuery- Avoiding Conflicts with Other Libraries

回到正题,按照上面 zzg 的建议,我打开了他提供的链接:Latest Jquery 并将该网页的内容复制并粘贴到我的 jquery.js 文件中。重新启动服务器并刷新网页后,我的 jquery 使用的是最新版本。我的 jQuery 在我的开发环境中本地工作,但之后并没有立即投入生产(现在正试图解决这个问题)。

最后,还有一件可能有用的事情是,您始终可以通过右键单击您的 rails 应用程序网页并选择“查看页面源代码”来查看您的 rails 应用程序正在使用的版本(在本地开发环境中) ",你应该找到这样的链接:

<script data-turbolinks-track="false" src="/assets/jquery.js?body=1"></script>

单击它将显示指定版本的 jquery.js 文件的内容(这不适用于生产,因为资产管道将所有 javascript 文件压缩到一个文件中,即 application.js)

【讨论】:

以上是关于如何使用 Rails 3 更新到 jQuery 1.7+?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 jquery 插件添加到 rails 3.1

如何在 Rails 中使用 jquery tokeninput?

如何让 Jquery UI Autocomplete 与 Rails 4 一起使用?

如何在rails 3.1中使用jquery-addresspicker jquery

如何在 Rails 6.0.3.3 中使用 jQuery?

需要 jquery 如何在 Rails 3 应用程序中工作?