friendly_id ошибка при создании нового пользователя - PullRequest
3 голосов
/ 15 марта 2012

У меня есть модель User, которая полиморфно связана с моделью Person и Company.

Я использую friendly_id для отображения постоянных ссылок для Person и Company.

Person имеет атрибут first_name, и я помещаюследующее в моей модели:

extend FriendlyId
friendly_id :first_name

Теперь, когда я обновляю свои существующие записи, тогда слаг создается совершенно.Но проблема возникает, когда я пытаюсь создать новое использование, которое выдает ошибку маршрутизации.

Во-вторых, у каждого пользователя есть один пользователь, а у пользователя есть имя пользователя, поэтому, когда я пытаюсь выполнить следующую команду, обновление и новая записьвыдает неизвестное имя пользователя метода для ошибки класса nil.

extend FriendlyId
friendly_id :person_permalink, use: [:slugged, :history]

def person_permalink
  "#{self.user.username} #{self.name}"
end

1 Ответ

2 голосов
/ 30 марта 2012

Я полагаю, что это может быть связано с before_save на friendly_id.

скорее всего, связанные записи и идентификаторы не синхронизированы во время создания friendly_id, а self.user равно nil.

Существует аналогичная проблема с людьми, пытающимися использовать первичный ключ, идентификатор таблицы-столбца-значения в friendly_id.

...