friendly_id создать слаг с идентификатором - PullRequest
4 голосов
/ 07 февраля 2012

Я пытаюсь использовать гем friendly_id для генерации пули в формате "# {id} - # {title}"

Похоже, что friendly_id использует before_save и не имеет доступа к атрибуту ID.

Есть ли способ обойти это?

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

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

1 Ответ

13 голосов
/ 07 февраля 2012

Вместо того, чтобы использовать friendly_id для этого, вы можете переопределить to_param в вашей модели, чтобы включить заголовок

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

Это должно иметь тот эффект, который вам нужен, без использования friendly_id.*

...