3

私は次のように使用しfriendly_idています:

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

タイトルを変更したり、履歴に古いスラッグを維持したりせずに、スラッグを設定できる (つまり、カスタム URL を設定できる) ようにしたいと考えています。

これを使用してこれを行う簡単な方法はあり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 に答える