ruby-on-rails - 在哪里放置可重用的方法以供 rails 中的 Controller 访问

标签 ruby-on-rails ruby architecture

我有几个从我的 Controller 调用的方法,感觉它们应该被拉出并放入 Controller 外部的可重用类中。人们通常把这些东西放在哪里?我知道我可以将它们放入我的 ApplicationController,但如果我认为我可以稍后在其他应用程序中使用这些方法,那似乎不是一个很好的解决方案。

此外,我的 Controller 中有许多实用方法可能不会在其他 Controller 中使用,或者将来根本不会使用,但我觉得它们只会让我的 Controller 膨胀一点。人们通常会为了清洁而将它们移到某个地方,还是最终会得到一个巨大的 Controller ?

我来自 Java 和 Actionscript,我只是为这些东西创建新的实用程序类。

最佳答案

lib 目录是一个你可以放置模块/类的地方,它们可以混合在 Controller 中或由 Controller 使用(以及其他任何东西,真的)。这可以是放置不属于其他区域的代码的地方(但要小心确保 lib 本身不会变成一团糟)。请记住旁注:

  • 如果您知道您有大量相关功能可以或将会用于其他应用程序,那么这可能是一个插件。

  • 还值得记住的是,创建一个不是 Active Record 对象的模型并没有错。因此,根据您所拥有的,这也可能有意义。

关于ruby-on-rails - 在哪里放置可重用的方法以供 rails 中的 Controller 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2726934/

相关文章:

javascript - 如何防止通过 URL 访问 Rails 3 中的 Controller 方法?

ruby-on-rails - 如何修复 PG::ProgramLimitExceeded: ERROR?

ruby - pack() 和 unpack() 在 Ruby 中如何工作

php - 设计库存系统的正确方法

design-patterns - 如何在社交网络中实现事件流

ruby-on-rails - 我想使用 Rails 控制台获取姓氏以 'x' 开头的用户数组

ruby - 无法连接到 heroku 的任何辅助或主节点

ruby-on-rails - Rails4 - 测试困惑..需要推荐

asp.net-web-api - 使用 SignalR 从长时间运行的进程推送到客户端

ruby-on-rails - 为什么 Rails 将布局选择作为 Controller 问题而不是 View 问题?我可以从 View 中选择布局吗?