ruby-on-rails - Rails 3 中的库应该放在哪里?

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

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

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

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

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

从功能的角度来看,它位于模型、 View 和 Controller 的中间位置。这使得它听起来像一个助手,但在 Rails 中,助手是用于 View 的。

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

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

最佳答案

lib 仍然是放置这些东西的正确位置。

由于引擎的工作方式,自动加载库在 Rails 3 中被删除,但主要是因为如果您确实希望自动加载它,则可以轻松地将其添加到 autoload_paths 中,如果不需要,您可以根据需要进行 require。 lib 仍在加载路径中,因此您无需指定您需要的模块或类的位置。

你是对的,助手是用于 View 的,而不是放置任何与模型相关的逻辑的地方。

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

关于ruby-on-rails - Rails 3 中的库应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794384/

相关文章:

javascript - 为什么实际的鼠标点击不起作用,但在 JS 控制台中执行 .click() 却可以?

ruby-on-rails - 将设计身份验证合并到现有的用户结构中?

ruby-on-rails - 如何在 Rails 3.0.x 中使用 sprockets 2

ruby-on-rails - 如何在集合中使用 has_key?

ruby-on-rails - 为什么 Ruby on Rails 专业人士不使用脚手架?

ruby - 如何在我的 Rspec 请求规范中跳过中间件?

ruby-on-rails - 在模型中使用设计助手

ruby-on-rails - Devise 和 Cancancan - 如何让它发挥作用?

ruby-on-rails - 乘客 NGINX 模块失败

ruby-on-rails-3 - 导轨 : determining whether to use SSL for url() in CSS