html - 如何使用 "template" Controller 创建页面并在 VoltRb 中查看

标签 html ruby pagination opalrb voltrb

我在 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 集合使 genretitle 可用。然后,您可以使用此信息从商店(或任何地方)加载正确的书籍。

您可以在此处阅读有关路线的更多信息:http://docs.voltframework.com/en/docs/routes_file.html

关于html - 如何使用 "template" Controller 创建页面并在 VoltRb 中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016485/

相关文章:

html - 从页面的特定部分删除过滤器

ruby - 来自 heroku 的 git diff

ruby - 来自 Bundler 的 Fresh Ruby gem - 无法加载我的 version.rb 文件?

ruby-on-rails - 格式化 helper_methods 以便在 View 中使用

ruby-on-rails - 如何用cancan进行分页?

javascript - 如何设置当前小时下拉列表的默认选择?

html - 使用 css 响应式重新定位 div

javascript - jquery slidedown隐藏元素onclick

c - 需要帮助在我的自定义 CLI 中使用 ncurses 进行命令输出分页

struct - Golang revel : Paginating a struct array