Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3中的库应该去哪里?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 3中的库应该去哪里?

Ruby on rails Rails 3中的库应该去哪里?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,Rails 3中库的推荐位置在哪里?它像“lib”一样简单吗 我不确定,因为“lib”看起来更像Rails 2的残余,特别是考虑到它不再是自动加载的(显然,对此有很多讨论) 初始化器更适合(显然)初始化任务,如覆盖 具体来说,我有一个用于附件处理的小模块(这里不适合使用回形针),它太大、太独特,无法包含在我的模型中,但不够通用或值得作为gem实现 从功能的角度来看,它位于模型、视图和控制器之间的中间位置。这使它听起来像一个助手,但在Rails中,助手是用于AFAIK视图的 我应该把它放在“lib

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

我不确定,因为“lib”看起来更像Rails 2的残余,特别是考虑到它不再是自动加载的(显然,对此有很多讨论)

初始化器更适合(显然)初始化任务,如覆盖

具体来说,我有一个用于附件处理的小模块(这里不适合使用回形针),它太大、太独特,无法包含在我的模型中,但不够通用或值得作为gem实现

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

我应该把它放在“lib”中并自动加载到application.rb中吗?或者,我可以创建一个自定义表单生成器来处理演示文稿(或者两者兼而有之)


我知道如何让它工作,但我希望能学到一些新东西

lib仍然是放置这类东西的合适位置

自动加载lib在Rails 3中被删除是因为引擎的工作方式,但主要是因为如果您确实希望自动加载lib,只需将其添加到自动加载路径就很容易了,如果不希望,您可以根据需要进行添加。lib仍在加载路径中,因此不需要指定所需的模块或类的位置

您是对的,助手是用于视图的,不会放置任何与模型相关的逻辑


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

非常有用的答案,特别是关于需要非自动加载模块的详细信息。非常感谢。