Friendly_id为现有模型创建slug

时间:2014-06-29 18:35:25

标签: ruby-on-rails ruby-on-rails-4 friendly-id

我有地点模型 - 总共有50多个记录的国家/地区/城市。我已将配置添加到这些模型中。

有没有办法通过命令行我可以一次创建这些模型的slugs而不是编辑和保存所有模型。

2 个答案:

答案 0 :(得分:7)

保存

为了进一步帮助您 - @iceman是对的 - 您需要遍历slugged模型&再次保存它们。在rails console

中执行此操作friendly_id recommends this
$ rails c
$ Location.find_each(&:save)

这应该有助于Rails加载每个项目,然后立即保存。这将触发slug的{​​{1}}生成功能,填充friendly_id条记录的slug

答案 1 :(得分:4)

friendly_id在保存时更新了slug。我为我的项目做了这样的事情,但是只包含了大约5k项目,所以这可行,但可能需要一些时间,具体取决于你的设置。

Model.all.map(&:save)