Хорошо, я знаю, что это старый вопрос, но просто хочу отметить, для других, которые могут наткнуться на это:
Фрагмент кода в вопросе взят из FriendlyId 3.x, и в этом случае вы добавляете столбец в таблицу (называйте его как угодно, кроме slug
... Я предпочитаю использовать cached_slug
) в качестве строки и обновить модель, чтобы показать
Class Product < ActiveRecord::Base
has_friendly_id :name, :use_slug => true, :cache_column => 'cached_slug'
end
Начиная с версии friendly_id 4.x, вы просто добавляете в таблицу столбец slug
как string
и используете новый синтаксис:
например:
Class Product < ActiveRecord::Base
extend FriendlyId
friendly_id :name, :use => :slugged
end
Существует множество вариантов и способов получить максимальную отдачу от friendly_id, включая исторические записи (чтобы избежать 404-х) и т. Д. *
Дополнительная информация: http://rubydoc.info/github/norman/friendly_id/master/frames