Ale*_*xey 18 haml refactoring ruby-on-rails view-helpers
在重构期间,复制HAML模板的一部分并将其粘贴到帮助程序的代码是非常方便的.目前在这种情况下1)我必须从头开始重写该部分视图2)我必须使用详细的语法,如content_tag或haml_tag.
我知道可以使用HAML systax定义部分内容,这些内容将作为帮助程序.虽然1)对我来说,为每个小的微小函数创建一个单独的文件是不方便的2)部分的调用语法非常详细.
理想情况下,我希望我的*_helper类看起来像这样:
- def some_helper(*its_args)
.some_class
= some_ruby_expression
%some_tag#some_id
- another_expression do
etc
Run Code Online (Sandbox Code Playgroud)
或者至少像这样:
define_haml_helper :some_helper, [:arg1, :arg2], %{
.some_class
= some_ruby_expression
%some_tag#some_id
- another_expression do
etc
}
Run Code Online (Sandbox Code Playgroud)
有插件可以解决我的问题吗?
或者,您可以描述如何将HAML片段重构为可重用元素(帮助者/函数/部分/构建器/等)?
小智 13
来自参考:
def render_haml(code)
engine = Haml::Engine.new(code)
engine.render
end
Run Code Online (Sandbox Code Playgroud)
这启动了一个新的Haml引擎并呈现它.