何时在Rails中使用辅助方法和私有方法?

时间:2015-07-27 11:38:41

标签: ruby-on-rails

我听说控制器应该尽可能简洁。因此,我尝试将大部分处理工作保留在相应控制器的帮助器中。但是,我对于是否应该使用私有控制器方法或辅助方法感到困惑。

我只使用辅助方法处理和返回值。它们目前没有其他用途。它们不是从视图中调用的。

2 个答案:

答案 0 :(得分:2)

一般来说,这是一个坏主意。除了特定的convert-something-into-string内容之外,不应该使用Helper方法(基本上,只应在中使用)。

除此之外,你应该使用service objects或类似的东西,基本上,PORO(普通的旧红宝石对象)

在控制器中,您希望处理身份验证并呈现正确的内容,您不希望处理其他任何事情,否则它们会变得过于复杂。

您可能需要查看这些书籍以提高对此主题的了解:

  • Growing Rails applications这是一本非常好的书,关于如何避免将代码放在错误的地方以及如何长期保持代码库的可维护性
  • POODR这是关于如何编写优秀面向对象代码的Ruby指南,对于任何开发人员来说都是必须的,并且会帮助您理解为什么使用帮助器这是一个坏主意< / LI>

答案 1 :(得分:0)

通常,在模板或视图中调用Helper

如果您想让控制器干燥,请使用模型或服务中的功能(通过 Ben Lewis 阅读有关服务的this good article