如何配置friendly_id gem的序列分隔符
Posted
技术标签:
【中文标题】如何配置friendly_id gem的序列分隔符【英文标题】:How to configure sequence separator of friendly_id gem 【发布时间】:2012-10-27 14:27:23 【问题描述】:我在 Rails 3 中使用 friendly_id gem 版本 4.0.9,我想将默认序列分隔符从 -
更改为 _
。
我试过了,但它不起作用:
class Restaurant < ActiveRecord::Base
extend FriendlyId
friendly_id do |config|
config.base = :name
config.use :slugged
config.sequence_separator = "_"
end
.....
end
【问题讨论】:
你找到配置序列分隔符的解决方案了吗? 【参考方案1】:适用于使用 Rails 4.x 的 Friendly_Id Gem 5.x (可能也适用于较低版本的 Friendly_Id Gem 或 Rails)
将以下方法添加到您正在使用 Friendly_Id 生成 slugs 的模型文件中-
def normalize_friendly_id(string)
super.gsub("-", "_")
end
【讨论】:
【参考方案2】:取自gem's tests on GitHub:
friendly_id :name, :use => :slugged, :sequence_separator => "_"
应该可以...
【讨论】:
我从 Google 来到这里,我遇到了同样的问题。sequence_separator
似乎不起作用,使用问题中的方法或答案。什么给了?
@GeorgeMillo from the friendlyid docs, rubydoc.info/github/norman/friendly_id/FriendlyId/Slugged/… suquence_seperator : '用于将 slug 碱基与数字序列分开的字符串。'
是的,我意识到我误解了 sequence_separator
应该做什么 - 例如。如果您的 slug 是 my-awesome-slug
和哈希之间的“my-awesome-slug_1234hashforuniqueness5678, it only affects the
_`,而不是 my-awesome-slug
中的 -
s。(我希望这是有道理的。)以上是关于如何配置friendly_id gem的序列分隔符的主要内容,如果未能解决你的问题,请参考以下文章
通过 Friendly_Id Gem 在 URL 中使用 Slug 和 id
rails 使用 friendly_id gem 按资源名称路由访问