0

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

Do Something when
%b
 this happens
after this

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

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

def summary
  "Do Something when" + haml_tag(:b) +  " after this"
end
4

2 回答 2

1

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

def the_helper
  "Do Something when".html_safe +
  capture_haml do
    haml_tag :b, 'this happens'
  end +
  "after this".html_safe
end

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

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

于 2013-10-08T16:17:53.613 回答
0

因此,如果您的视图所在的目录称为“目录”,那么您只需在帮助程序目录中创建一个名为“directory_helper.rb”的文件,然后添加您想要的任何方法。

于 2013-10-08T16:06:01.827 回答