将代码从 haml 模板移动到视图帮助程序



这可能很容易。我的 haml 视图模板中有以下几行。我想将其移动到帮助程序方法中,因为我必须在同一视图中重复相同的代码行

Do Something when
%b
 this happens
after this

如何将其移动到帮助程序方法中?

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

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

尝试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... 这可以在整个块中移动,也可以在视图中处理...

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

最新更新