ruby on rails id не отображается в моей модели - PullRequest
0 голосов
/ 03 февраля 2011

Я пытаюсь добавить базовый идентификационный номер к заголовку слага

вот моя модель:

class Post < ActiveRecord::Base
  before_save :title_to_slug

  def title_to_slug
    self.title_slug = "#{id}-" + "#{title}".to_slug
  end

end

.to_slug происходит от https://github.com/ludo/to_slug

, когдая сохраняю новое сообщение, у заголовка slug вообще нет идентификатора, вывод "-post-title"

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

У вас не будет идентификатора, пока вы не сохраните. Вы можете изменить before_save хук на after_save и использовать update_attribute для установки title_slug.

Еще одна мысль. Не указывайте идентификатор в слаге и добавьте его вместе с получателем:

def title_slug
  "#{id}-#{read_attribute(:title_slug)}"
end
0 голосов
/ 03 февраля 2011

Записи не имеют идентификатора, пока они не были сохранены в базе данных. Сначала вам нужно будет сохранить запись, а затем добавить заголовок заголовка, как только он будет сохранен с использованием обратного вызова after_save или after_create.

...