gpt4 book ai didi

ruby-on-rails - ruby rails 3 : Change default controller and parameter order in routing

转载 作者:行者123 更新时间:2023-12-04 06:05:02 25 4
gpt4 key购买 nike

我有一个 Rails 应用程序,它有一个名为 domain 的 Controller ,它有一个名为 subdomainstats 的嵌套 Controller 。我在 routes.rb 中定义了它们:

resources :domains do
resources :subdomains, :stats
end

我已经将域和子域模型的 to_param 更改为使用域的名称,例如:我得到的路由是 http://site/domains/foo/subdomains/bar

我想整理一下,这样我就可以使用 http://site 而不是使用 http://site/domains/foo/subdomains/bar 访问它/foo/subdomains/bar.我在 routes.rb 中尝试了以下内容:

match "/:id/" => "domains#show", :as => :domain

效果很好,但它只让我能够使用路径 http://site/foo 但例如 http://site/foo/subdomains/bar 没有。我可以为每个相应的模型和嵌套模型创建匹配线,但是除了 domain_url 之外,这对其他助手没有任何作用 - 即 edit_domain_url 指向 /domains/foo/edit/ 而不是 /foo/编辑

有没有办法更改路由,以便 resources 生成指向没有“域”部分的根 url 的帮助程序?

最佳答案

路由中的单个匹配 只会创建一个路由。资源助手一次创建许多路由。幸运的是,有很多定制选项。如果你想从你的路径中省略 /domains/,很简单:

resources :domains, :path => "/" do
resources :subdomains, :stats
end

config/routes.rb 中,运行 rake routes 表示以下内容:

    domain_subdomains GET    /:domain_id/subdomains(.:format)         
domain_subdomains POST /:domain_id/subdomains(.:format)
new_domain_subdomain GET /:domain_id/subdomains/new(.:format)
edit_domain_subdomain GET /:domain_id/subdomains/:id/edit(.:format)
domain_subdomain GET /:domain_id/subdomains/:id(.:format)
domain_subdomain PUT /:domain_id/subdomains/:id(.:format)
domain_subdomain DELETE /:domain_id/subdomains/:id(.:format)
domain_stats GET /:domain_id/stats(.:format)
domain_stats POST /:domain_id/stats(.:format)
new_domain_stat GET /:domain_id/stats/new(.:format)
edit_domain_stat GET /:domain_id/stats/:id/edit(.:format)
domain_stat GET /:domain_id/stats/:id(.:format)
domain_stat PUT /:domain_id/stats/:id(.:format)
domain_stat DELETE /:domain_id/stats/:id(.:format)
domains GET /(.:format)
domains POST /(.:format)
new_domain GET /new(.:format)
edit_domain GET /:id/edit(.:format)
domain GET /:id(.:format)
domain PUT /:id(.:format)
domain DELETE /:id(.:format)

看起来像您需要的所有路线!

关于ruby-on-rails - ruby rails 3 : Change default controller and parameter order in routing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3690777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com