Rails Friendly_id:Slug 未正确生成
Posted
技术标签:
【中文标题】Rails Friendly_id:Slug 未正确生成【英文标题】:Rails Friendly_id: Slug isn't generated properly 【发布时间】:2017-01-25 11:36:08 【问题描述】:我正在尝试使用 FriendlyId gem 制作我的自定义 slug,例如:
extend FriendlyId
friendly_id :slug_candidates, :use => [:slugged, :finders]
def slug_candidates
id = rand(100..200)
x = ...
y = ...
return "#x-#y-#id"
end
在添加 slug 列之前,当我在 rails console
和 .friendly_id
中测试它时,会以 x-y-id 的格式正确显示 slug。问题是当我添加一个 slug 列并尝试创建新实例时,只有最后一部分被保存(只有一个随机数)作为 slug! slug 中没有 x 和 y 的值。这里有什么问题,我该如何解决?
【问题讨论】:
【参考方案1】:你可以尝试做这样的事情吗:
def slug_candidates
id = rand(100..200)
x = ...
y = ...
[ "#x-#y-#id" ]
end
def should_generate_new_friendly_id?
true
end
【讨论】:
以上是关于Rails Friendly_id:Slug 未正确生成的主要内容,如果未能解决你的问题,请参考以下文章
Rails gem“friendly_id”:如何在创建对象之前获得 slug 的实时预览