隐蔽的“背部”通过 RedCloth 和 Acts-as-Textiled 编辑帖子时如何使用纺织品标记?

发布于 2024-10-05 05:13:09 字数 729 浏览 7 评论 0原文

问题:如何在应用程序中将纺织品生成的 HTML“转换”回纺织品标记?

情况是这样的。通过在我的“帖子”模型中实现 RedCloth 和 actions-as-textiled,我成功地在我的 Rails 3 应用程序中拼凑出了一个穷人的博客编辑器。我使用“行为作为文本”来消除在“帖子”正文中编写内容的痛苦。

效果很好。但是,当我编辑帖子时,我在帖子正文中看到生成的 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 %>

Question: How can I "convert" my textile generated HTML back to textile markup in my app?

Here's the situtation. I managed to piece together a poor man's blog editor in my Rails 3 app by implementing RedCloth and acts-as-textiled in my "posts" model. I use acts-as-textiled to take the pain out of writing content in the body of my "posts".

It works great. However, when I edit the post I see the generated HTML in the post body. What I would like to see is the original textile markup. Is this possible?

Thanks in advance for your help!

Here is my post model:

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'

Here is my Posts view for the "Show" method:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野味少女 2024-10-12 05:13:09

试试这个:

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

Try this:

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

textile = ClothRed.new(html).to_textile

puts textile

Output:

h1. This is a heading


*bold text*  
__italic__

In your case, I think you should do:

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

I don't know if this is considered best practice, though.

Documentation: http://clothred.rubyforge.org/doc/html/index.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文