这可能很容易。我的 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"的文件,然后添加您想要的任何方法。