gpt4 book ai didi

ruby-on-rails - 嵌套资源的 rails 路由和自定义路由

转载 作者:行者123 更新时间:2023-12-04 07:40:58 24 4
gpt4 key购买 nike

对于几个项目,我需要一些东西来简化我的路线,以删除最重要路线之一的 Controller 名称。在这种情况下版本,所以而不是

domain.com/editions/london/venues/the-venue

我们使用 ->

domain.com/london/venues/the-venue

我一直在为我的路由使用这个公式:

  # MUST BE LAST
resources :editions, path: '' do
get 'set_session', on: :member
resources :events
resources :quiz_masters
resources :venues
end

它工作正常,但我觉得它有一些不愉快的地方。我想知道是否有更好的选择,一个也有限制的选择,所以我不必担心总是把它放在路线的底部。

我也不确定 path: '' 是个好方法吗?尽管它有效。

最佳答案

使用您的示例,您可能应该对其进行约束。使用您包含的 Edition.all.map(&:slug) 数组,或者根据列表的大小以某种方式缓存它。这样它将受到限制,并且不一定需要位于路由文件的底部。

resources :editions, path: '', :constraints => proc { |req| ['london', 'other_cities'].include?(req.params[:edition_id]) } do
get 'set_session', on: :member
resources :events
resources :quiz_masters
resources :venues
end

关于ruby-on-rails - 嵌套资源的 rails 路由和自定义路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24525819/

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