【问题标题】:Using jQuery plugins in Rails 3在 Rails 3 中使用 jQuery 插件
【发布时间】: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 个问题:

  1. 有没有办法将 jQuery 插件导入到我的 Rails 应用程序中,将它们放入它们所属的 public/javascripts/ 目录中?

  2. 如果 1 的答案是“否”,有没有办法让 javascript_include_tag 搜索供应商/插件/中的脚本?这似乎是一种不好的做法,因为 jQuery 脚本隐藏在人们通常会查找它们的 public/javascript/ 目录之外。

  3. 如果 1 和 2 都是“否”,是否有比 $mv 或复制粘贴更优雅的方式从供应商/插件/移动文件?

注意:通过网络搜索,我在http://getsprockets.org/ 发现了 37signals 的 sprokets gem,它似乎在某些时候可能有用,但超出了我目前的需求和理解。

感谢任何想法!

【问题讨论】:

    标签: jquery ruby-on-rails-3 plugins jquery-plugins ruby-on-rails-plugins


    【解决方案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 目录和下载目录之间建立符号链接,以便样式表标签可以访问它。

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      相关资源
      最近更新 更多