如何在Rails中默认所有路由到特定文件夹?

时间:2010-11-27 19:48:59

标签: ruby-on-rails routes

我有一个名为home的文件夹,我用它来组织我的顶级视图文件。如何设置路由,以便在它们出现时,url不包含/ home / section。

示例:目前,about_us文件显示http://somesite.com/home/about_us,我希望它显示在http://somesite.com/about_us

由于

3 个答案:

答案 0 :(得分:3)

匹配特定于rails 3.要在rails 2.3.8中处理此操作:

map.about_us "/about", :controller => "home", :action => "about_us"  

答案 1 :(得分:2)

一种方法是:

match 'about_us', :to => "home#about_us"

如果您想以这种方式执行多项操作,请使用以下命令:

match ':action', :controller => "home"

答案 2 :(得分:1)

Rails 2.x这样做的方法是

map.connect "/:action", :controller => "home"

这会将somesite.com/somepage映射到somepage

上的HomeController操作

如果你想对所有事情使用单一动作,你可以选择

map.connect "/:page", :controller => "home", :action => "page"

然后在HomeController

class HomeController < ActionController::Base
  def page
    render params[:page]
  end
end

当然,通过此设置,您可以在实际页面名称之后在app/views/home中命名您的视图