Rails 3中的库应该放在哪里?

5
Rails 3中推荐的库位置在哪里?是像“lib”一样简单吗?
我不确定,因为“lib”似乎更像是Rails 2的残留物,特别是考虑到它不再自动加载(显然有很多讨论)。
初始化程序更适用于(显然)初始化任务,例如覆盖。
具体来说,我有一个用于附件处理的小模块(Paperclip不适合此处),它太大且与我的模型不同,但不足以实现为gem。
从功能角度来看,它位于模型,视图和控制器之间。这使它听起来像一个helper,但在Rails中,helper是针对视图的,据我所知。
我应该将其放在“lib”中并在application.rb中自动加载它吗?或者也许我可以创建一个自定义表单构建器来处理表示(或两者兼而有之)。
我知道如何使它工作,但我希望学到一些新东西。 :)
1个回答

11

lib仍然是放置这些内容的正确位置。

在Rails 3中,由于引擎的工作方式以及为了方便在autoload_paths中添加它,自动加载lib被删除了。如果需要自动加载它,您可以将其添加到autoload_paths中;如果不需要,则可以按需求require。lib仍然在加载路径中,因此您不需要指定所需模块或类的位置。

您是正确的,helpers旨在用于视图,并不是放置任何与模型相关的逻辑的地方。

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


非常有帮助的答案,特别是关于需要一个未自动加载的模块的详细说明。谢谢! - TK-421

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接