Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html haml中的嵌套渲染_Html_Ruby On Rails_Ruby On Rails 4_Haml_Renderpartial - Fatal编程技术网

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

在“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
%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中做您想要的事情,但我认为这个答案更干净。