3

我使用friendly_id如下:

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

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

有没有一种直接的方法可以使用friendly_id或者我需要与历史表进行交互?

谢谢!

4

1 回答 1

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使用自定义 URL 文本来设置 URL。奇迹般有效 :)

于 2012-07-07T02:02:00.133 回答