为这种情况创建辅助方法是一个好主意吗?

时间:2011-03-01 07:38:07

标签: ruby-on-rails helper

我在很多地方的html.erb中都有这段代码。

<div id="left-nav">
  <%= render :partial => 'tests/tests_left_menu' %>
</div>

为这种类型的代码创建辅助方法是一个好主意吗?

如何在帮助程序中编写此代码?

3 个答案:

答案 0 :(得分:1)

我看到了一些适合您情况的好策略。根据您项目的具体要求进行选择。

  • 您可以将div#left-nav及其内容放入另一个部分,例如tests/tests_left_menu_with_wrapper。这样可以节省几行费用。
  • 如果您可以在整个细分市场出现时对这些案例进行概括,则可以将其移至layout。这样,一旦使用ActionController::Base.layout方法声明特定操作的布局,您就可以跳过完全写入整个段。
  • 您可以编写帮助程序,但不清楚它仅仅使用content_tag会带来什么好处。你可能最好使用部分或布局。

答案 1 :(得分:1)

就我个人而言,我认为没有必要,而且我认为这更像是因为你没有使用像haml这样的其他工具来帮助减少erb文件中的行数

只需1行即可在haml中实现相同的代码:

#left-nav= render :partial => 'tests/tests_left_menu'

希望这有助于=)

答案 2 :(得分:0)

我想如果你在很多地方都有这个代码,我会把div移到局部。如果你需要灵活地在div之外使用tests_left_menu,我仍然会在这个场景中选择两个部分来帮助你。如果可以,请避免在Ruby中编写html:)