ruby on rails-在嵌套目录中使用高电压



我有一个rails 3.2应用程序,在该应用程序中,我的公共页面使用gem高压。它似乎工作得很好,但是,我希望能够在我的页面文件夹中放一些子目录。

例如:

/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb

在这个例子中,我想把浏览器指向pages/directory_1/index等。文档声称这是可能的:

如果从URL的角度来看,您可以在目录结构中嵌套页面:link_to"第四季度报告",page_path("关于/corporate/policys/HR/en_US/biz/sales/Quarter Four")

但这样的事情对我不起作用。

我用一个名称空间尝试过:

namespace :directory_1 do
  match "pages/:id" => "high_voltage/pages#show"
end

但这当然会转到directory_1/high_voltage/pages#show,这是错误的。

简单地匹配"pages/directory_1/:id" => "high_voltage/pages#show"会带来两个问题:它不再允许页面目录中的任何视图,并且不同子目录中具有相同文件名的视图会混淆。

那么,如何使用高压在页面目录中实现嵌套目录呢?

只需在app/views/pages中创建一个目录结构,即可反映所需的URL层次结构。

例如,如果您创建了一个名为about.html.erb、路径为app/views/pages/about_me/about.html.erb的视图,您将使用来引用它

<%= link_to "About", page_path("about_me/about") %>

我在当前的一个项目中得到了这个精确的解决方案。

最新更新