我有几个从我的 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/