关于 ruby?? on rails:将代码从 haml 模板移动到查看助手

Move code from haml template to view helper

这可能很容易。我的 haml 视图模板中有以下几行。我想把它移到一个辅助方法中,因为我必须在同一个视图中重复相同的代码行

1
2
3
4
Do Something when
%b
 this happens
after this

如何将其移至辅助方法中?

这就是我所拥有的,这不起作用

1
2
3
def summary
 "Do Something when" + haml_tag(:b) + " after this"
end

尝试 capture_haml 获取处理后的 haml_tag 值本身并将其附加到其他文本。

1
2
3
4
5
6
7
def the_helper
 "Do Something when".html_safe +
  capture_haml do
    haml_tag :b, 'this happens'
  end +
 "after this".html_safe
end

否则,haml_tag 直接写入视图,可能不是你所期望的。

edit:为字符串添加了 html_safe...这可以在整个块中移动,或在视图中处理...


因此,如果您的视图所在的目录名为 \\'directory\\',那么您只需在 helper 目录中创建一个名为 \\'directory_helper.rb\\' 的文件,并在其中添加您想要的任何方法喜欢。