我正在使用friendly_id
,如下所示:
class Page < ActiveRecord::Base
extend FriendlyId
friendly_id :title, :use => [:slugged, :history]
end
我希望能够设置slug(即能够设置自定义URL),而无需更改标题并在历史记录中保留旧标记。
是否有使用friendly_id
执行此操作的简单方法,还是需要与历史记录表进行交互?
谢谢!
答案 0 :(得分:5)
我通过添加实例属性url_seed
来完成此任务:
class Page < ActiveRecord::Base
extend FriendlyId
friendly_id :slug_for_url, :use => [:slugged, :history]
attr_accessible :title, :url_seed
attr_accessor :url_seed
def slug_for_url
self.url_seed.blank? ? self.title : self.url_seed
end
end
现在,在保存时,如果设置了url_seed
,friendly_id
会使用自定义网址文字来设置网址。像魅力一样工作:)