如何使用 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+?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Rails 中使用 jquery tokeninput?
如何让 Jquery UI Autocomplete 与 Rails 4 一起使用?