【问题标题】:friendly_id, Update slug with historyfriendly_id,使用历史更新 slug
【发布时间】:2012-07-06 11:59:59
【问题描述】:

我使用friendly_id如下:

class Page < ActiveRecord::Base
  extend FriendlyId
  friendly_id :title, :use => [:slugged, :history]
end

我希望能够设置 slug(即能够设置自定义 URL)而不更改标题并保留历史中的旧 slug。

是否有使用friendly_id 的简单方法来执行此操作,或者我需要与历史记录表交互吗?

谢谢!

【问题讨论】:

    标签: ruby-on-rails friendly-id


    【解决方案1】:

    我通过添加一个实例属性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_seedfriendly_id 将使用自定义 URL 文本来设置 URL。像魅力一样工作:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 2014-03-28
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多