图书馆应该在哪里进入Rails 3?

时间:2011-01-25 14:03:19

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

Rails 3中库的推荐位置在哪里?它就像'lib'一样简单吗?

我不确定因为'lib'看起来更像是一个Rails 2残余,特别是考虑到它不再是自动加载的(显然有很多关于它的讨论)。

初始化器更多地用于(显然)初始化任务,例如覆盖。

具体来说,我有一个用于附件处理的小模块(Paperclip不适合这里),它太大而且不同于我的模型,但不是通用的,或者足以作为宝石实现。

从功能的角度来看,它位于模型,视图和控制器之间的中间位置。这使得它听起来像是一个助手,但在Rails中,助手适用于视图AFAIK。

我应该把它放在'lib'中并在application.rb中自动加载吗?或者也许我可以创建一个自定义表单构建器来处理演示文稿(或两者)。

我知道如何让它发挥作用,但我希望能够学到新东西。 :)

1 个答案:

答案 0 :(得分:11)

lib仍然是放置这类东西的合适场所。

由于引擎的工作方式,在Rails 3中删除了自动加载库,但主要是因为如果你想要自动加载它很容易将其添加到autoload_paths,如果不想,你可以根据需要进行操作。 lib仍然在加载路径中,因此您无需指定 where 您需要的模块或类。

你是对的,帮助者是用于视图的,并且不会放置任何与模型相关的逻辑。

我将模块放在lib中,并根据需要将其包含在您的模型中。