Как добавить RedCloth в form_for? - PullRequest
       4

Как добавить RedCloth в form_for?

0 голосов
/ 26 ноября 2010

Смущающий вопрос, но я не могу перевести документацию в фактическую форму.Это все, что предоставляет сайт ..

RedCloth.new("Some text").to_html
 #=> "<p>Some text</p>"

Я понял, что так я анализирую его после сохранения.Но как мне сохранить его как размеченный текст?

Вот моя попытка начать это, но я не знаю, как установить параметр для сохранения текстовой области как RedCloth.Есть идеи?

- form_for @text do |f|
   # some RedCloth instantiation
   f.submit

1 Ответ

3 голосов
/ 26 ноября 2010

Вы не сохраняете параметр, проанализированный как RedCloth, и не рекомендую его. Анализ его в RedCloth приведет к потере исходного значения, если вы не сохранили вывод в альтернативном поле, что я рекомендовал бы .

Вы можете использовать before_save в вашей модели, чтобы проанализировать это значение и сохранить его:

before_save :parse_text

# your model methods go here

private

  def parse_text
    self.parsed_text = RedCloth.new(text).to_html
  end

Если вы хотите отобразить значение parsed_text в своем представлении, вы должны сообщить Rails, что это безопасно, выполнив следующее:

@object.parsed_text.html_safe

Однако код, приведенный здесь, не учитывает людей, смешивающих Markdown и HTML, поэтому будьте очень осторожными при использовании.

...