如何减少Rails ApplicationHelper的行数

时间:2016-09-21 12:46:44

标签: ruby-on-rails

我的ApplicationHelper有超过100行,而Rubocop提醒我“模块有很多行”。解决这个问题的好方法是什么?将它除以另一个helper?创建lib

3 个答案:

答案 0 :(得分:0)

我不知道你在应用程序助手中拥有的是什么,但理想情况下它应该如下:

与渲染视图相关的函数应该在辅助文件中,它们通常会生成HTML内容。所以我认为那些生成html的方法应该放在帮助器中,而其他方法即使它们以任何方式帮助查看,也应该将它们组合在一起并拥有一个lib文件。

现在关于应用程序帮助程序,应用程序助手中的代码包含在应用程序的所有视图中,因此如果在很多地方的应用程序中使用了辅助方法,那么只将它们放在application_helper.rb中,否则它们必须放在相应的帮助文件中。

您还可以查看以下链接,了解ROR中的内容:

Rails Model, View, Controller, and Helper: what goes where?

希望它对你有所帮助。

答案 1 :(得分:0)

通常,您的帮助文件旨在帮助您呈现视图。只有在视图中共享的帮助应该在ApplicationHelper中。例如,如果您的用户视图有辅助方法,那么这些方法应该在UsersHelper而不是ApplicationHelper

答案 2 :(得分:0)

如果不查看代码很难说,但我想可能有一些辅助方法可以减小尺寸,可能还有一些辅助方法,这些方法在整个应用程序中都是不需要的,可以移动到一个更具体的文件。此外,您可以将类似/相关的帮助程序移动到它们自己的文件中,并在ApplicationHelper中要求它。