【问题标题】:Rails - What's the best way to route duplicate slugs with a forward slash?Rails - 使用正斜杠路由重复 slug 的最佳方法是什么?
【发布时间】:2018-06-02 17:08:24
【问题描述】:

我正在使用friendly_id 5.2。

默认情况下,它只是在末尾附加一个随机 UUID 来表示重复的 slug (post-60948cdd-d73c-4b77-9676-ecdf7727c396),但是使用 sequentially_slugged 方法,您可以将其返回到它在版本 4 中的工作方式一个破折号,最后是一个数字 (post-7)。

用正斜杠替换破折号的最佳方法是什么? post/7(按创建时间排序)。

据我了解,您希望在 gem 中允许重复的 slug,然后只需更改 Rails 端的路线。

【问题讨论】:

    标签: ruby-on-rails routes slug friendly-id


    【解决方案1】:

    正如我在documentation 中看到的那样

    Instance Attribute Summary

    • (对象)sequence_separator 用于将 slug 碱基与数字序列分开的字符串。
    • (对象)slug_column 将用于存储生成的 slug 的列。
    • (对象)slug_generator_class 返回属性 slug_generator_class 的值。

    实例属性详情

    • (对象)sequence_separator 用于将 slug 碱基与数字序列分开的字符串。

    您可以通过设置sequence_separator 配置选项来更改默认分隔符。

    返回:

    String 序列分隔符字符串。默认为“-”。

    【讨论】:

    • 正斜线把扳手扔进齿轮,它不像其他角色。 slug 生成得很好,但 Rails 不知道如何路由它。
    • @JackHasaKeyboard slug 是如何生成的?
    • "post/2",就这样
    • @JackHasaKeyboard 你用的是单数resource :post 还是你弄错了resources :posts 并且路线是posts/:id
    • 第二个,resources :posts, path: ""
    猜你喜欢
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多