【问题标题】:Rails 3.2.12 controller action hiding from URL隐藏在 URL 中的 Rails 3.2.12 控制器操作
【发布时间】:2013-03-06 15:27:57
【问题描述】:

我有脚手架“类别”,其中包含表“类别”和 category_name 等字段。 现在在我的主页上,我正在显示所有记录。 如果我点击任何特定类别的“显示”,我的 URL 看起来像这样 ->“http://www.abc.com/categories/1”,其中 1 是 id。 在这里,我希望 url 采用这种格式,而不是“categories/1”:“http://www.abc.com/#{category_name}”。 我使用友好的 id,但这使我的 URL 像这样“http://www.abc.com/categories/#{category_name}”。 我想从 url 中隐藏控制器名称和 id,只显示类别名称

【问题讨论】:

    标签: ruby-on-rails-3 routes


    【解决方案1】:

    你可以添加类似的东西

    match '/:path' => 'categories#show', as: :category
    

    在你的路线上。请注意,这应该放在路由的底部,因此它的优先级最低,因为它将匹配所有控制器的索引操作。像这样使用它

    category_path(category_name)
    

    或者

    "/#{category_name}"
    

    您可能还需要删除 show 到 show 操作的映射,这样它就不会与添加 as: :category 选项生成的 named_route 冲突

    resources :categories, except: [:show]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-23
      • 2016-02-05
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多