我在 Volt 中遇到问题,我需要一堆带有"template" Controller 和 View 的页面。让我更详细地解释一下:
例如,我有一个关于书籍的网站。我在 http://localhost:3000/books
上有一个页面。它用作其他页面的索引,例如http://localhost:3000/books/fantasy/lord_of_the_rings
。我希望所有包含书籍的页面都有一个 Controller 和 View ,这样我就不必为我想要添加的每本书手动添加 Controller 和 View 。相反,我只想向包含一本书的每个页面添加内容,以使我的工作流程尽可能保持干燥。
因此,app/main/views
下的文件结构如下所示:
views
├── books
│ ├── index.html
│ └── template.html
└── main
├── index.html
└── main.html
app/main/controllers
下的文件结构如下所示:
controllers
├── books_controller.rb
└── main_controller.rb
问题是我不知道如何在 app/main/config/routes.rb
中进行设置,因为我猜那是定义页面 URL 及其 Controller 、操作的地方,等等。我该如何在 Volt 中实现这样的目标?
最佳答案
例如,您可以使用以下路线:
client '/books', controller: 'books', action: 'index'
client '/books/{{ genre }}/{{ title }}', controller: 'books', action: 'template'
这会将两个请求路由到书籍 Controller 。它将通过模板 Controller 操作和 View 中的 params 集合使 genre
和 title
可用。然后,您可以使用此信息从商店(或任何地方)加载正确的书籍。
您可以在此处阅读有关路线的更多信息:http://docs.voltframework.com/en/docs/routes_file.html
关于html - 如何使用 "template" Controller 创建页面并在 VoltRb 中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016485/