Rails嵌套资源,路径设置为nil

时间:2016-12-08 23:47:08

标签: ruby-on-rails ruby-on-rails-5

当我订购以下资源时,/ websitename有效但/用户名没有。

undefined

当我颠倒下面的顺序时,/ username有效,但/ websitename没有。

resources :websites, :path => '', :only => [:create, :show] do
    resources :pages, :only => [:create, :show, :edit]
end

resources :users, :path => '', :only => [:create, :show, :index]

就像是取消另一个或其他东西。这有什么办法吗?某种方式来封装它们或什么?我不知道我在做什么......

1 个答案:

答案 0 :(得分:1)

在实践中,您只能拥有一个没有:path的顶级资源。它会永远匹配,所以没有任何意思。

使用命令行 - 您可以查看rake routes以查看每个路线所期望的实际网址格式和优先顺序。

这是有道理的,对吧?你不知道/georgia是一个人还是一个地方。

如果您的网站路线中有一些特殊的东西(比如它们都以'网站'开头),那么您可以这样做。

资源:网站,:path => '',约束:{id:/ site + /}

将更多限制性路线放在路线文件中。