friendly_id和新记录

时间:2011-09-01 19:56:46

标签: ruby-on-rails friendly-id

我正在使用friendly_id 4.0.0.beta8并且喜欢生成使用slug的URL,但仍然包含模型ID。似乎friendly_id会生成slu_ before_validation。但是,此时(保存之前)当然没有可用的模型ID,因此friendly_id创建没有id的slugs。

如何确保新记录在初始保存后会出现带有id的slugs?

2 个答案:

答案 0 :(得分:7)

我是FriendlyId的作者。

FriendlyId试图解决的问题是允许文本ids 不带数字ID。

因此,如果你只是想在slug中获得模型id,你可能只是想避免增加复杂性而根本不使用FriendlyId;你可能只能覆盖to_param:

def to_param
  "#{id}-{title.parameterize}"
end

答案 1 :(得分:0)

您也可以在控制器中保存两次。 ID将在那里第二次,因此它将更新slug。