加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – friendly_id不会为旧记录生成slu ..

发布时间:2020-12-16 23:03:57 所属栏目:百科 来源:网络整理
导读:我使用了带有Rails应用程序的FriendlyId gem(版本4.0.8).我已经按照 RailsCasts的教程进行操作,根据文档,我必须在rails控制台上运行Model.find_each(:save)来为旧记录生成slugs.但是,当我这样做时,我的所有旧记录的slug属性仍然没有,所以它并没有真正改变ur
我使用了带有Rails应用程序的FriendlyId gem(版本4.0.8).我已经按照 RailsCasts的教程进行操作,根据文档,我必须在rails控制台上运行Model.find_each(&:save)来为旧记录生成slugs.但是,当我这样做时,我的所有旧记录的slug属性仍然没有,所以它并没有真正改变url的.

难道我做错了什么?这只发生在生产方式上.它在开发上运行良好.

更新:

我的模型看起来像这样:

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

  belongs_to :gym

  attr_accessible :category,:name,:description
  validates :category,: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读