我有一个'静态'控制器和静态视图,这些视图是在视图中不使用ruby的页面。对于这些页面,我有一个以编程方式生成并在应用程序布局文件中使用的站点地图部分。命名空间路由仍然使用应用程序布局文件,但是也采用静态路由并尝试命名它们。
以下是路径文件的相关部分:
namespace :admin do
resources :verse_categories
resources :verses
resources :songs
resources :flowers
resources :visits, :except => [:new, :create]
end
match ':action' => 'static'
root :to => 'static#home'
这是我得到的错误:
No route matches {:controller=>"admin/static", :action=>"about"}
请注意,about是站点地图部分使用的静态页面之一。
那么,我如何解决这个路由问题,以便它不会试图在管理命名空间内找到我的静态网站?任何帮助将不胜感激!
答案 0 :(得分:0)
怎么样:
namespace :admin do
...
get "/about" => "static#about"
end
或
scope "/admin" do
get "/about" => "static#about"
end
答案 1 :(得分:0)
此gist说明了如何将目录添加到命名空间目录的搜索路径中。我最终做了以下事情:
class Static::BaseController < ApplicationController
def self._prefixes
super | ["other_directory"]
end
end