【发布时间】:2015-03-11 04:11:05
【问题描述】:
假设我们有 2 个标题相同的帖子:“超级英雄”。第一篇文章应该有 url superheros-alternative-1,第二个应该有 superheros-alternative-2。 问题是,当我更新其中一篇文章的标题时,它们的 url 都应该改变。我的意思是如果我将标题更改为“奇迹”,那么网址应该变成以下 奇迹替代 1 和奇迹替代 2。 现在我有了下一个代码
class Post < ActiveRecord::Base
before_update :update_slug
def should_generate_new_friendly_id?
slug.blank? || title_changed?
end
def update_slug
title = Post.find(self.id).title
Post.where(title:title).each do |post|
post.update_column(:title,self.title)
end
end
end
【问题讨论】:
-
那么,您的问题到底是什么?您的帖子中没有。
-
抱歉,问题是 - “当我们更新其标题时,如何更新主页及其副本的 URL?”
标签: ruby-on-rails ruby friendly-url slug friendly-id