【问题标题】:Why is my nested text_area helper adding html tags?为什么我的嵌套 text_area 助手添加了 html 标签?
【发布时间】:2011-11-07 02:33:29
【问题描述】:

我有一个复杂形式的部分文本区域,像这样调用

<%= f.fields_for :notes do |notes_form| %>
  <%= render :partial => 'note', :locals => {:f => notes_form, :operation => f, :count => operation.notes.count} %>
<% end %>
<p><%= add_child_link "Add note", :operation_notes %></p>

部分看起来像这样

<% count ||= 2 %>
<div class='fields'>
<%= f.text_area :note_text, :rows => "4", :class => "notes" %>
<%= remove_child_link "x", f, count %>
</div>

表单上可以有很多注释,因此添加和删除子链接。

我遇到的问题是,如果我添加带有文本 'abcd' 的注释,当我打开编辑表单时,我会得到 '&lt;p&gt;abcd&lt;/p&gt;'。如果注释中有换行符,则会添加&lt;br /&gt; 标签。 text_area 表单助手似乎正在使用 simple_format 助手,但我不知道为什么。任何人都可以提供帮助,因为这是非常不受欢迎的行为?

【问题讨论】:

    标签: ruby-on-rails-3 forms textarea


    【解决方案1】:

    啊解决了,

    之前在同一页面上,我正在显示注释并使用 simple_format 对其进行格式化

    <%= simple_format note.note_text %>
    

    simple_format 似乎有点破坏性,因为在此之后,对 note.note_text 的调用总是返回格式化的文本。如果我将以上内容更改为

    <%= simple_format note.note_text.dup %>
    

    那么 note_text 属性不会改变,我会得到适当的结果。

    我将不得不更仔细地研究 simple_format 但这确实让我觉得这是不受欢迎的行为。

    编辑

    看起来这在 Rails 3.1 中已得到纠正

    【讨论】:

    • 太棒了。我一直在寻找解决这个问题的方法。简单格式确实具有破坏性,因为它会与您的表单 text_area 助手一起使用。
    【解决方案2】:

    我怀疑你的 Note 模型中有一些东西正在处理文本。检查此模型中的回调。

    【讨论】:

    • 不错的想法,但我的笔记模型只是类 Note
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2011-07-21
    相关资源
    最近更新 更多