从haml模板移动代码以查看帮助程序

时间:2013-10-08 15:59:32

标签: ruby-on-rails haml dry view-helpers

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

Do Something when
%b
 this happens
after this

如何将其转换为辅助方法?

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

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

2 个答案:

答案 0 :(得分: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 ...这可以在整个块中移动,或在视图中处理...

答案 1 :(得分:0)

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