【问题标题】:Rails Route? How To Rename URL in Routes铁轨路线?如何重命名路由中的 URL
【发布时间】:2020-04-22 19:14:25
【问题描述】:

我想将我的类别 URL 从 https://website.com/categories/apples (#1) 重命名为

https://website.com/hi-apples-bye (#2)

我正在努力完成两件事:

在 SITEMAP 和 PATH 中显示 #2 URL

路线:

resources :categories

get '/hi-:id-bye', to: "categories#show"

但是,我在站点地图中获得 URL https://website.com/categories/apples,路径为 https://website.com/hi-apples-bye

任何帮助将不胜感激!我是菜鸟……

【问题讨论】:

  • 您尚未禁用GET /categories/:id 资源。为此,请通过添加 except: :show 选项从 resources :categories 中删除显示操作。
  • 猜猜看,hi-:id-bye 就像类别的标题?在这种情况下,有一个名为 slug 的 gem,它将把你所有的 id 更改为 url 中的标题

标签: ruby-on-rails rails-routing


【解决方案1】:

不确定您是否需要所有类别资源路由都具有相同的路由前缀,但对于您给出的示例,您可能只是:

resources :categories # this is to keep the existing REST routes

# outside categories do ... end
get '/hi-:id-bye', to: "categories#show" # this is to add the route you want

请参阅此部分了解更多详情:https://guides.rubyonrails.org/routing.html#non-resourceful-routes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-18
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多