格式化的文本无法呈现并在视图中显示为代码

时间:2012-11-14 16:54:07

标签: javascript ruby-on-rails ruby-on-rails-3

我正在为我的应用使用bootstrap-wysihtml5 gem,一种WYSIWYG表单文本编辑器。 当我在我的文本区域输入看起来像这样的内容时:

“这是测试粗体斜体是否有效”

我在我的观点中看到了这一点:

"this is a test to see if **bold** and *italic* are working"

任何html都显示为代码,而不是呈现为格式化文本。 似乎格式化正在编码,它只是没有正确呈现。 可能是什么导致了这个?

我的代码如下,并严格遵循自述文件。

文章/ _form.html.erb

<%= form_for @post, :html => { :multipart => true } do |f| %>

  <%= f.label :content %>
  <%= f.text_area :content, :class => 'wysihtml5' %>

  <%= f.label :photo %>
  <%= f.file_field :photo %>

  <script type="text/javascript">
    $('.wysihtml5').each(function(i, elem) {
      $(elem).wysihtml5();
    });
  </script>

  <div class="actions">
    <%= f.submit %>
  </div>

<% end %>

文章/ _post.html.erb

<div class="photo"><%= image_tag post.photo.url %></div>
<div class="content"><%= post.content %></div>

4 个答案:

答案 0 :(得分:3)

posts / _post.html.erb

中尝试此操作
<div class="content"><%= post.content.try(:html_safe) %></div>

答案 1 :(得分:1)

尝试将其更改为<div class="content"><%= raw post.content %></div>并查看是否有帮助。

答案 2 :(得分:1)

我用

<%= post.content.html_safe %>

答案 3 :(得分:0)

 <%= f.text_area :content,  escape: => false, :class => 'wysihtml5' %>