这可能很容易。我的 haml 视图模板中有以下几行。我想把它移到一个辅助方法中,因为我必须在同一个视图中重复相同的代码行
Do Something when
%b
this happens
after this
我如何将其移至辅助方法中?
这就是我所拥有的,这不起作用
def summary
"Do Something when" + haml_tag(:b) + " after this"
end
这可能很容易。我的 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”的文件,然后添加您想要的任何方法。