Ruby on rails 中间人中的本地数据(JSON)位于与/data不同的路径中
我正在使用一些模板来生成一个包含多个页面的静态站点。这些页面中的每一个都位于不同的文件夹中,因此它基本上是一个类似于/source/pages/page-1/index.html.erb的路径 例如,我想要实现的是将data.json文件放在文件夹page-1中,并使用Middleman将其内容提取到同一文件夹中的index.html.erb文件中。问题是Middleman要求所有的.json文件都在/data中,而我需要每个data.json文件都在自己的文件夹中 有没有办法让Middleman为每个文件夹分别提取每个.json文件Ruby on rails 中间人中的本地数据(JSON)位于与/data不同的路径中,ruby-on-rails,ruby,json,haml,middleman,Ruby On Rails,Ruby,Json,Haml,Middleman,我正在使用一些模板来生成一个包含多个页面的静态站点。这些页面中的每一个都位于不同的文件夹中,因此它基本上是一个类似于/source/pages/page-1/index.html.erb的路径 例如,我想要实现的是将data.json文件放在文件夹page-1中,并使用Middleman将其内容提取到同一文件夹中的index.html.erb文件中。问题是Middleman要求所有的.json文件都在/data中,而我需要每个data.json文件都在自己的文件夹中 有没有办法让Middlema
我希望我说得够清楚了。任何帮助都是非常欢迎的。我认为做这样的事情是不可能的。看起来目录已定义 但是!您应该能够更改整个数据目录的位置:
set :data_dir, 'source/data'
after_configuration do
data.categories.each do |category, data|
proxy "/#{category}.html", "/category.html", locals: {category: data}
end
end
这样做的原因是将所有数据分组在一个地方
您可以制作如下内容:
data
|-- page1
| |-- content1.yml
| +-- content2.yml
|
|-- page2
| |-- content1.yml
| +-- content2.yml
.
.
并使用data.page1.content1提取它
我期待着看到是否有人有黑客攻击。您可以尝试编写一个助手方法,用于查找、加载和解析当前页面的de JSON数据。我还没有实际测试过这个,但我猜它看起来像这样: config.rb 帮手 def json_datafilename=data.json container\u dir=File.splitcurrent\u resource.path.first.splitFile::SEPARATOR.first json_path=File.joinsource,容器目录,文件名 ActiveSupport::JSON.decodio.readjson_路径 终止 终止
谢谢你的建议,拉杜博格丹。如果什么都没有出现,我可能会做类似的事情。我已经决定将所有信息作为一个数组放入/data中,并在每个页面中提取出来,但这可能正是我想要的。