我使用friendly_id
如下:
class Page < ActiveRecord::Base
extend FriendlyId
friendly_id :title, :use => [:slugged, :history]
end
我希望能够设置 slug(即能够设置自定义 URL)而不更改标题和维护历史中的旧 slug。
有没有一种直接的方法可以使用friendly_id
或者我需要与历史表进行交互?
谢谢!
我使用friendly_id
如下:
class Page < ActiveRecord::Base
extend FriendlyId
friendly_id :title, :use => [:slugged, :history]
end
我希望能够设置 slug(即能够设置自定义 URL)而不更改标题和维护历史中的旧 slug。
有没有一种直接的方法可以使用friendly_id
或者我需要与历史表进行交互?
谢谢!
我通过添加一个实例属性来实现这一点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。奇迹般有效 :)