2

質問: テキスタイルで生成された HTML をアプリでテキスタイル マークアップに戻すにはどうすればよいですか?

これが状況です。「投稿」モデルに RedCloth とacts-as-textiled を実装することで、貧乏人のブログ エディターを Rails 3 アプリにまとめることができました。私は「投稿」の本文にコンテンツを書く手間を省くために、acts-as-textiled を使用しています。

それはうまくいきます。ただし、投稿を編集すると、生成された 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 %>
4

1 に答える 1

2

これを試して:

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

于 2010-11-30T01:08:40.223 に答える