Rails - friendly_id - Как я могу сгенерировать слаг friendly_id из текстового поля

Rails новичок здесь. Я использую драгоценный камень friendly_id, у меня есть модель страницы, когда я создаю страницу, слаг friendly_id генерируется из заголовка, указанного в текстовом поле. Я хочу иметь возможность редактировать этот слаг и не изменять его при обновлении или когда я меняю заглавие

вот моя страница.rb

     class Page < ActiveRecord::Base

            belongs_to :user
            include Bootsy::Container

            extend FriendlyId

            friendly_id :title, use: :slugged


            validates :title, :presence => true
            validates :user_id, :presence => true

            def should_generate_new_friendly_id?

            end

          end

Я знаю, что это очень простая задача, но я новичок в рельсах. Благодарность


person Majid Mushtaq    schedule 13.12.2014    source источник


Ответы (1)


Это можно сделать, добавив следующий логин внутри should_generate_new_friendly_id? :

def should_generate_new_friendly_id?
  new_record? || !self.slug.present?
end
person Majid Mushtaq    schedule 21.12.2014