首页 > 解决方案 > Apitome 侧边栏在包含在布局中时消失

问题描述

我在 5.2 版 ruby​​ on rails 应用程序中使用rspec_api_documentationand apitomegems。

这会产生出色的文档,并有一个侧边栏 (div#sidebar) 允许快速访问文档的正确部分。当我选择

config.layout = "layouts/application.html.erb"

初始化程序中的选项apitome.rb,文档被渲染,但侧边栏消失了。查看页面源代码,侧边栏的代码没有被渲染,即不是css问题,html没有被放入布局中。为了确保它在我的 application.html.erb 文件中没有异常,我将其简化为

<!DOCTYPE html>
<html>
  <head>
  </head>

  <body>
        <%= yield %>
  </body>
</html>

这个侧边栏非常有用,那么如何在布局中呈现它呢?

标签: ruby-on-railsrspec-api-documentationapitome

解决方案


根据对这个问题的回应,我能够解决这个问题。

我创建了一个新布局,在app/views/layouts.apidocs.html.erb该布局中呈现apitome/docs/navigation. 一个简单的例子如下

# app/views/layouts/apidocs.html.erb

<!DOCTYPE html>
<html>
  <head>
  </head>

  <body>
    <div class="container">
      <div class="row">
        <div class="col-md-4">
          <div id="sidebar" class="sidebar hidden-print" role="complementary">
            <%= render 'apitome/docs/navigation' %>
          </div>
        </div>
        <div class="col-md-8" role="main">
          <div class="docs-section">
            <%= yield %>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

然后我在 apitome 初始化程序中配置了这个布局。

# config/initializers/apitome
Apitome.setup do |config|
   ...
   config.layout = "layouts/apidocs.html.erb"
end

经过一些CSS修补后,一切看起来都很好。


推荐阅读