gpt4 book ai didi

ruby-on-rails - rails : Friendly_id does not generate slugs for old records

转载 作者:行者123 更新时间:2023-12-04 10:54:43 25 4
gpt4 key购买 nike

我在 Rails 应用程序中使用了 FriendlyId gem(4.0.8 版)。我遵循了 RailsCasts 上的教程根据文档,我必须运行 Model.find_each(&:save)在 rails 控制台上为旧记录生成 slug。但是,当我这样做时,我所有的旧记录的 slug 属性仍然为零,因此它并没有真正改变 url。

难道我做错了什么?顺便说一下,这只发生在生产中。它在开发中运行良好。

更新:

我的模型看起来像这样:

class Member < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged

belongs_to :gym

attr_accessible :category, :name, :description
validates :category, :name, :description, :presence => true

has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }

def self.search(search)
if search.present?
where("name LIKE ?", "%#{search}%")
else
find(:all)
end
end

def should_generate_new_friendly_id?
new_record?
end
end

最佳答案

should_generate_new_friendly_id?new_record? 起返回 false是假的,因为您的记录已经存在。

删除 should_generate_new_friendly_id?方法,或者试试这个并重新运行:

def should_generate_new_friendly_id?
new_record? || slug.blank?
end

另见: Rails Friendly_Id on Heroku, Heroku not updating slugs

关于ruby-on-rails - rails : Friendly_id does not generate slugs for old records,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com