ruby-on-rails - Apitome 侧边栏在包含在布局中时消失
问题描述
我在 5.2 版 ruby on rails 应用程序中使用rspec_api_documentation
and apitome
gems。
这会产生出色的文档,并有一个侧边栏 (div#sidebar) 允许快速访问文档的正确部分。当我选择
config.layout = "layouts/application.html.erb"
初始化程序中的选项apitome.rb
,文档被渲染,但侧边栏消失了。查看页面源代码,侧边栏的代码没有被渲染,即不是css问题,html没有被放入布局中。为了确保它在我的 application.html.erb 文件中没有异常,我将其简化为
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<%= yield %>
</body>
</html>
这个侧边栏非常有用,那么如何在布局中呈现它呢?
解决方案
根据对这个问题的回应,我能够解决这个问题。
我创建了一个新布局,在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修补后,一切看起来都很好。
推荐阅读
- java - src 文件夹中文件的 intellij 中的 FileNotFoundException 错误
- swift - 更新 Firestore 中文档的某些字段
- wcf - 将值“utf-8”转换为类型“System.Text.Encoding”时出错
- selenium - Selenium 在 for 循环中返回上一页
- amazon-web-services - AWS DynamoDB的分页扫描//必须读取整个表?
- vue.js - 我应该如何避免在平面 vuex 结构中重复数据和 API 调用?
- android - 在 Android 10 及更高版本中使用 MediaStore 保存图像后获取图像信息
- javascript - 来自 firebase 的数据正在以洗牌的方式出现?
- github - 无法在 github 上上传客户端部分
- scala - 无法对 Apache Flink 实例运行远程任务