2015-09-29 9 views
1

Я использую friendly_id (4.0.10.1), и это мой класс:Как установить ограничение на слитность с помощью символа friendly_id?

class Article < ActiveRecord::Base 

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

end 

Как я поставил 49 символов ограничение для поля слизняка? Gem отлично работает, просто мне нужно установить этот предел 49, управляемый драгоценным камнем, а не добавлением дополнительного шага на код.

ответ

1

Вы можете использовать проверки активной записи. Например, validates_length_of, либо на самом slug, либо в том случае, если значение получено из столбца, а затем в столбце.

Другим решением является здесь

def normalize_friendly_id(string) 
    super[0..49] 
end 

только теперь я нашел их через поиск Google.

https://github.com/norman/friendly_id/issues/190

+0

Thanks man !! Он работает для большинства сценариев. Однако есть проблема, когда два объекта пытаются сохранить один и тот же пул. Чтобы создать новый пул, добавив этот «-2» в конец строки, он заканчивается длиной в 52 символа. – fabianraf

 Смежные вопросы

  • Нет связанных вопросов^_^