Сохраните пробелы с помощью Rails, Datamapper и Coderay (О, да и Haml тоже)
Я пытаюсь показать выделенный синтаксис кода C в приложении ruby. Coderay выглядел как решение де-факто, так как я не делаю ничего особенного со стилем.
Следующий код дает мне выделенный код в div, но без начальных пробелов. (Пробелы присутствуют в БД при просмотре с помощью Sequel Pro)
Код сохраняется в обычном текстовом столбце:
class Project
include DataMapper::Resource
property :id, Serial
property :name, String, :required => true
property code, Text
end
И представление отображается в хамле через:
~ CodeRay.scan(@project.code, :c).div(:css => :class).html_safe
РЕДАКТИРОВАТЬ
Смотрите решение ниже, это было из-за сброса шаблона HTML5 CSS
1 ответ
Решение
Я путц, весь пример кода правильный, это был шаблон html5 css, удаляющий пробелы. В частности:
pre { padding: 15px; white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; }
отбрасывание пробела: предварительная линия; исправляет это