friendly_id生成带ID的slug

时间:2012-02-06 23:53:40

标签: ruby-on-rails friendly-id

我正在尝试使用friendly_id gem生成一个“#{id} - #{title}”格式的slug

看起来friendly_id使用before_save,并且无法访问ID属性。

有解决方法吗?

# Permalinks
#-----------------------------------------------------------------------------
extend FriendlyId
friendly_id :id_and_title, :use => :slugged

def id_and_title
  "#{id} #{title}"
end

1 个答案:

答案 0 :(得分:13)

您可以覆盖模型中的to_param,而不是使用friendly_id,以包含标题

class YourModel < ActiveRecord::Base
  def to_param
    "#{id} #{title}".parameterize
  end
end

这应该具有您不必使用friendly_id的效果。