Rails 3:路由到资源#show for root

时间:2011-01-01 02:22:48

标签: routing ruby-on-rails-3

我正在尝试将我的rails主页映射到由资源生成的页面,并且我在将所需参数引入路径时遇到一些困难。我正在寻找类似的东西:

root :to => "pages#show", :slug => 'home'

......这不起作用。任何建议表示赞赏。

2 个答案:

答案 0 :(得分:2)

您可以在Pages SHOW操作中设置默认值,这样如果您在没有参数的情况下请求Pages#show,那么您将加载回家而不是Record Not Found。 IE:

def show
  if
    # I'm guessing you're using slugs based on your question
    @page = Page.find_by_slug(params[:slug]) 
  else
    @page = Page.find_by_slug('home')
  end
  # This will automatically render 'show', but you could pass explicit render instructions too
end

然后您现有的设置:root :to => "pages#show"应该按预期工作。

答案 1 :(得分:1)

root :to => redirect('/pages')