有哪些方法可以编写可以在rails中使用的库?它们如何工作?如何“安装”它们?

时间:2012-11-08 19:55:41

标签: ruby-on-rails-3.2

对不起标题,但我找不到单词来解释这一点。 当我必须选择放置外部库的位置时,我在rails中有点困惑。

例如,如果我想准备一个包含大量帮助器的gem,我可以在所有应用程序中共享它,它应该怎么做?它应该在我的app / helpers目录下安装这些助手吗?

实际上这些都是我知道可以放置外部库的目录:

  • 供应商/资产
  • 应用程序/助手
  • vendor / plugins [,如果我没有错,已被弃用]
  • LIB /资产
  • LIB /任务

如果我想创建一个可以在控制器中使用的方法,如果它们包含某些内容,我应该在哪里放置这样的文件,该怎么办?

如果我创建一个可以在rails中使用的gem,它应该在哪里安装文件?

我有点迷失,我总是创建一个文件,但我觉得有点不舒服,因为我总是不知道我应该把它放在哪里。

修改1:

我想添加一个特殊情况,你在哪里放置一个用javascript编写的库,哪个目录结构几乎没有绑定,所以你不能将css / images移动到不同的目录中。你怎么处理这个?我在vendor / assets中创建了一个目录以使其正常工作,但我不知道这是否是解决此问题的最佳方法。

1 个答案:

答案 0 :(得分:0)

实际上阅读并获取有关IRC聊天的信息,我理解这些事情:

  • 供应商/资产应该用于Rails“完全”外部的库,例如与C ++库或类似内容交互的东西。
  • app / helpers仅适用于此应用程序的帮助程序
  • vendor / plugins已被弃用
  • lib / assets适用于您想要使用的库(例如javascript库),您不希望存储在gem中(或者不作为gem发布)。

这绝对不是一个完整的答案,但实际上是我找到的唯一答案。

关于宝石及其构建方式,我将提出一个新问题。