Html haml中的嵌套渲染
在“show.html.haml”中,我有如下两种渲染:Html haml中的嵌套渲染,html,ruby-on-rails,ruby-on-rails-4,haml,renderpartial,Html,Ruby On Rails,Ruby On Rails 4,Haml,Renderpartial,在“show.html.haml”中,我有如下两种渲染: = render 'project_header', :locals => {@set_tab => "current"} = render 'project_toolbar' 我的“\u project\u header.html.haml”看起来像: %article.project %header %h1.generated #some_code %h2 #some_code
= render 'project_header', :locals => {@set_tab => "current"}
= render 'project_toolbar'
我的“\u project\u header.html.haml”看起来像:
%article.project
%header
%h1.generated
#some_code
%h2
#some_code
%section.toolbar
#some_code
我的“\u project\u toolbar.html.haml”看起来像:
%article.project
%header
%h1.generated
#some_code
%h2
#some_code
%section.toolbar
#some_code
这最终会以html形式结束,看起来像:
<article class="project">
#some_code
</article>
<section class="toolbar">
#some_code
</section>
#一些代码
#一些代码
我想要的是
<article class="project">
#some_code
<section class="toolbar">
#some_code
</section>
</article>
#一些代码
#一些代码
我知道可以在“项目标题”中渲染我的“项目工具栏”。但它们是两个逻辑上独立的实体,所以我不想这样做。
有什么建议吗?在haml中是可能的,一种方法是
%article.project
= render 'project_header', :locals => {@set_tab => "current"}
= render 'project_toolbar'
或者其他方法是,在\u project\u header.html.haml
中,呈现\u project\u toolbar.html.haml
%article.project
%header
%h1.generated
#some_code
%h2
#some_code
= render 'project_toolbar'
除了渲染
project\u工具栏
内的project\u标题
之外,我看不到其他任何方法。您知道,另一种方法可能是剥离“article”,然后在两个渲染之前写入。不过,如果是雇员再培训局的话,这是可能的。。难道哈姆不应该比再培训局更好吗?我想我想问的是,哈姆会在再培训局做什么?在erb中,我们可以在“project_header”中打开文章标签,然后在我们想要的任何地方关闭它。haml自己关闭所有标签,所以我不确定是否可以在erb中做您想要的事情,但我认为这个答案更干净。