При редактировании сообщения через RedCloth и Acts-as-Textiled скрыть "назад" к текстовой разметке? - PullRequest
2 голосов
/ 29 ноября 2010

Вопрос: Как я могу "преобразовать" текст, сгенерированный текстурой, обратно в текстовую разметку в моем приложении?

Вот ситуация. Мне удалось собрать воедино редактор блога бедного человека в моем приложении на Rails 3, реализовав RedCloth и действуя как текст в моей модели «записей». Я использую акты как текстовые сообщения, чтобы избавиться от боли при написании контента в теле моих «постов».

Отлично работает. Однако, когда я редактирую сообщение, я вижу сгенерированный HTML в теле сообщения. Я хотел бы увидеть оригинальную текстильную разметку. Возможно ли это?

Заранее спасибо за помощь!

Вот моя модель поста:

class Post < ActiveRecord::Base
  has_many :tags
  acts_as_taggable_on :tags
  acts_as_textiled :title, :body
  attr_accessible :tag_list, :tags, :title, :body, :post, :comments
  validates :title, :presence => true
  validates :body, :presence => true
  default_scope :order => 'posts.created_at DESC'

Вот мой просмотр сообщений для метода «Показать»:

<%= @post.title.html_safe %>
<%= @post.body.html_safe %>

1 Ответ

2 голосов
/ 30 ноября 2010

Попробуйте это:

html = <<HTML
<h1>This is a heading</h1>
<strong>bold text</strong>
<i>italic</i>
HTML

textile = ClothRed.new(html).to_textile

puts textile

Выход:

h1. This is a heading


*bold text*  
__italic__

В вашем случае, я думаю, вы должны сделать:

<%= ClothRed.new(@post.body).to_textile.html_safe %>
# instead of
<%= @post.body.html_safe %>

Я не знаю, считается ли это лучшей практикой.

Документация: http://clothred.rubyforge.org/doc/html/index.html

...