在 Rails 3 中使用 jQuery 插件
Posted
技术标签:
【中文标题】在 Rails 3 中使用 jQuery 插件【英文标题】:Using jQuery plugins in Rails 3 【发布时间】:2011-07-18 18:27:33 【问题描述】:完成了 Hartl 的精彩 Rails 教程,我现在正在学习 Castledine 和 Sharkie 编写的非常好的 jQuery - Novice to Ninja。虽然我能够在我的 rails 项目中包含 jquery.js 和 jquery-ui.js,但在添加其他 jQuery 插件时我遇到了困难。
我发现当插件托管在 github 上时,我可以使用命令行将它们导入到我的项目中,并且:
[my rails app]$ rails install [github URL]
插件成功导入到 javascript_include_tag 找不到它们的 /vendor/plugin/ 目录中。这种情况提示了 3 个问题:
有没有办法将 jQuery 插件导入到我的 Rails 应用程序中,将它们放入它们所属的 public/javascripts/ 目录中?
如果 1 的答案是“否”,有没有办法让 javascript_include_tag 搜索供应商/插件/中的脚本?这似乎是一种不好的做法,因为 jQuery 脚本隐藏在人们通常会查找它们的 public/javascript/ 目录之外。
如果 1 和 2 都是“否”,是否有比 $mv 或复制粘贴更优雅的方式从供应商/插件/移动文件?
注意:通过网络搜索,我在http://getsprockets.org/ 发现了 37signals 的 sprokets gem,它似乎在某些时候可能有用,但超出了我目前的需求和理解。
感谢任何想法!
【问题讨论】:
【参考方案1】:在当前的 rails 版本中,目录是
/vendor/assets/javascripts
【讨论】:
如果您使用的资产管道基本上是轨道中的链轮,具有许多附加的便利性和功能(几乎没有理由不使用它),那么现在这是放置它们的正确位置。您甚至可以将许多 jQuery 插件作为 gem 包含在内,并且资产管道将从 gem 中找到资产(例如,参见 masonry-rails gem)。一个新的发展是谈论用 Twitter 的“凉亭”取代那些资产库宝石。【参考方案2】:通常的做法是下载您想使用的插件的缩小版本并将其保存在public/javascripts
目录中。
rails install
用于 Rails 插件,而不是 jQuery 插件。
【讨论】:
非常酷。您的两个回答都帮助我将我的发现放到了更广泛的背景中。【参考方案3】:如果您坚持使用 rails install,您可以编写一个 rake 或 thor 任务来为您复制文件。
您也可以尝试在 public/javascripts 目录和下载目录之间建立符号链接,以便样式表标签可以访问它。
【讨论】:
以上是关于在 Rails 3 中使用 jQuery 插件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Rails 中使用 JQuery Cropper 插件?
在使用 rails 的动态加载视图中使用 Jquery 插件
Rails 6 和 Jquery 插件错误:$(...).validate 不是函数