동일한 제목의 게시물이 2 개 있다고 가정 해 봅니다. "슈퍼 히어로"입니다. 첫 번째 게시물에는 URL superheros-alternative-1이 있어야하고 두 번째 게시물에는 superheros-alternative-2가 있어야합니다. 문제는이 게시물 중 하나의 제목을 업데이트 할 때 URL이 둘 다 변경되어야한다는 것입니다. 내 말은 "경탄하다"라는 제목을 바꾸면 URL은 다음과 같이되어야합니다 marvel-alternative-1 and marvel-alternative-2. 지금 나는 당신이에 대한 update_column
, because it will not trigger the callbacks, validations and such 사용하지 않아야하므로, friendly_id이 슬러그를 업데이트하지 않습니다 다음 코드중복을위한 친숙한 ID
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
그래서 추가 할, 당신의 __question__ 것입니다 정확하게? 게시물에 게시물이 하나도 없습니다. –
아, 죄송합니다. "제목을 업데이트 할 때 기본 페이지 및 해당 사본의 URL을 업데이트하는 방법은 무엇입니까?" –