Friendly_id没有为旧记录创建slug

rig*_*rre 7 ruby ruby-on-rails slug friendly-id

我刚刚在我的rails项目中添加了Friendly_id gem,希望不使用数据库ID并创建一个slug,但我似乎无法为旧记录创建slug.我的模型看起来像这样.

class Mapping < ActiveRecord::Base

  extend FriendlyId
  friendly_id :title, use: :slugged

  # Friendly_Id code to only update the url for new records
  def should_generate_new_friendly_id?
    new_record? || slug.blank?
  end

end
Run Code Online (Sandbox Code Playgroud)

我正在跑步,Model.find_each(&:save)但它一直在吐出一个零结果.我已经尝试should_generate_new_friendly_id完全评论,但没有运气.有谁看到我在这里做错了什么?

编辑
我回滚了我的数据库并重写了我的迁移,这似乎解决了这个问题.

小智 2

如果有人发现这个 6 年前的问题:

\n\n

没有“do and end”块:

\n\n

find_each 返回一个 Enumerable (不是 ActiveRecord 类)

\n\n

使用:

\n\n
\n

Model.find_each.select(&:保存)

\n
\n\n

注意添加的“选择”方法

\n\n

使用 Rails\xe2\x80\x99 find_each 进行操作

\n