我的ApplicationHelper
有超过100行,而Rubocop提醒我“模块有很多行”。解决这个问题的好方法是什么?将它除以另一个helper
?创建lib
?
答案 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中要求它。