Я создаю сайт, используя rails 3.1, который по своей сути состоит из множества статей (похожих на сообщения в блоге). Они хранятся и форматируются как HTML. Теперь мне нужно создать предварительный просмотр содержимого статьи, чтобы в ленте этих статей отображалась только короткая версия. Содержание должно быть сокращено, не нарушая его HTML.
Есть ли простой способ сделать это? Драгоценный камень был бы идеальным, но идеи для чистого способа реализации функции сокращения тоже были бы хороши. Спасибо!
Edit:
Продолжая эксперименты, я в настоящее время работаю с чем-то в этом роде, используя Sanitize gem , и, похоже, это хорошо работает:
def shortened_content(length)
Sanitize.clean(content[0..length], Sanitize::Config::RELAXED)
end
Мне не нравится разбавлять и менять направление моего вопроса, но я думаю, что должен.
Есть ли лучшее решение для подобных вещей? (Я полагаю, что sanitize gem удаляет нежелательный контент, а также очищает HTML. Мне только он нужен для очистки HTML здесь)
Правильно ли я думаю, что мне, вероятно, следует перенести эту обработку на верхнюю сторону вещей? То есть хранить сокращенный контент, а также полный контент. Я полагаю, что это сэкономит мне достаточно времени на обработку, чтобы оно стоило дополнительного хранилища.