我有一个rails 3.2应用程序,我在其中使用gem High Voltage作为我的公共页面。它似乎工作正常,但是,我希望能够在我的页面文件夹中放置一些子目录。
例如:
/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb
在此示例中,我想将浏览器指向pages/directory_1/index
等。文档声称可以:
您可以将页面嵌套在目录结构中,如果从URL的角度来看是有意义的: link_to" Q4报告",page_path("关于/ corporate / policies / 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"
会带来两个问题:它不再允许页面目录本身中的任何视图,并且不同子目录中具有相同文件名的视图将会混淆。
那么如何使用High Voltage在我的pages目录中完成嵌套目录?
答案 0 :(得分:1)
只需在app/views/pages
中创建一个目录结构,以反映您需要的URL层次结构。
例如,如果您使用路径about.html.erb
创建了名为app/views/pages/about_me/about.html.erb
的视图,则可以使用
<%= link_to "About", page_path("about_me/about") %>
我在当前项目中得到了这个精确的解决方案。