【问题标题】:Why is the Indentation Disappearing from User Submissions on My Site?为什么我的网站上的用户提交内容中的缩进消失了?
【发布时间】:2013-08-30 18:01:24
【问题描述】:

我的网站上有一些文本区域,用户可以在其中提交(代码)条目。当他们稍后访问该页面时,它将显示他们的提交。这工作正常,但最近一些条目在加载时无法显示正确的选项卡和换行符。我查看了 Rails 中的数据,看起来某些条目缺少应该存在的制表符 (\t)。看起来选项卡已被替换为空白,在显示文本时不会显示。什么可能导致此错误,我该如何解决?

正确保存的示例文本:

"lots of text;\r\n\r\some more text {\r\n\r\n\tsome code here(int a, int b{\r\n\t\t\tif(a%2==0)"

神秘问题文本示例:

" some text\r\n    some more text\r\n    come code\r\n    bla bla\r\n        end end\r\n     "

注意:文本在Ace editor 中输入,但在用户单击提交时转移到隐藏的文本区域。

在开发中本地运行时,我无法复制此错误。它只发生在生产中的某些提交(在 Heroku 上)。

更新:隐藏的 text_area 有时会显示带有空格的文本,但 ace 编辑器无法在其 div 中正确显示。

【问题讨论】:

    标签: javascript ruby-on-rails forms text ace-editor


    【解决方案1】:

    您如何设置 ace 的值? 如果你使用editor.setvalue(str)str=editor.getvalue()字符串不能改变。

    但如果你将文本设置为 dom 元素并调用 ace.edit 你必须小心。

    【讨论】:

    • 是的,问题是我设置了 dom 元素。奇怪的是,它平时工作正常,却突然出bug……
    • 我认为 el.textContent = "str" 应该可以工作,但el.innerText 会根据应用的 css 更改文本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    相关资源
    最近更新 更多