【问题标题】:Help! My application_helper.rb is getting unwieldily帮助!我的 application_helper.rb 变得笨拙
【发布时间】:2011-10-17 03:24:40
【问题描述】:
我的application_helper.rb 越来越大了。在我的辩护中,它只包含 HTML 生成方法,并且这些方法都不执行任何类型的业务逻辑。这些方法都不是特定于任何页面或控制器的,并且大多数彼此无关。
这个问题的典型解决方案是什么?吸起来?创建额外的*_helper.rb 文件来吸收application_helper 的一些方法?
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-3
helper
【解决方案1】:
通常我们有控制器的助手(每个控制器一个助手,您是否会将助手方法放置在仅用于该控制器的模板上),您还可以根据自己的组织创建助手。
如果您有许多与投票相关的方法,您可以创建一个 PollsHelper 并将所有方法放在其中,即使没有名为 PollsController 的控制器。此外,Rails 始终会加载所有帮助程序并将它们包含在您的视图中,因此您可以随意命名它们(只要它们位于 helpers 文件夹中并且它们以 _helper 结尾)。
【解决方案2】:
通常我按类型组织 - 例如button_and_link_helpers、conditional_helpers 等。我只是将它们创建为模块并将它们包含在需要它们的控制器中。
这样做的好处是不会为每个视图加载大量未使用的函数