只需在内部创建目录结构 app/views/pages
反映您需要的URL层次结构。
例如,如果您创建了名为的视图 about.html.erb
与路径 app/views/pages/about_me/about.html.erb
, ,您将通过使用
<%= link_to "About", page_path("about_me/about") %>
我在当前项目中获得了这项确切的解决方案。
题
我有一个rails 3.2应用程序,我正在使用宝石 高压 对于我的公共页面。然而,它似乎工作正常,但是,我希望能够将一些子目录放在我的页面文件夹中。
例如:
/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb
在这个例子中,我想将浏览器指向 pages/directory_1/index
, 等等文件索赔是可能的:
您可以在目录结构中嵌套页面,如果这是从您的URL透视图进行了意义:LINK_TO“Q4报告”,PAGE_PATH(“关于/公司/策略/小时/ en_US / BIZ /销售/季度 - 四”)
但是这样的东西不适合我。
我用命名空间尝试了:
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"
附带两个问题:它不允许在Pages目录中的任何视图,并且在不同子目录中使用相同的文件名的视图将变得混淆。
那么如何用高电压在我的页面目录内完成嵌套目录?
解决方案
只需在内部创建目录结构 app/views/pages
反映您需要的URL层次结构。
例如,如果您创建了名为的视图 about.html.erb
与路径 app/views/pages/about_me/about.html.erb
, ,您将通过使用
<%= link_to "About", page_path("about_me/about") %>
我在当前项目中获得了这项确切的解决方案。