Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rails的原始或html安全方法正在截断文本。这有什么关系吗?_Ruby_Mongodb_Ruby On Rails 4 - Fatal编程技术网

Ruby Rails的原始或html安全方法正在截断文本。这有什么关系吗?

Ruby Rails的原始或html安全方法正在截断文本。这有什么关系吗?,ruby,mongodb,ruby-on-rails-4,Ruby,Mongodb,Ruby On Rails 4,我是Rails的新手,正在尝试组装一个小应用程序,可以从mongo数据库读取Cumber结果。存储在文档中的结果被解析为html。在rails应用程序中,我获取这些结果并使用raw()方法调用显示它们。我得到的字符串相当大,结果表明,raw()方法正在截断我传递给它的文本。当我在没有raw()的情况下输出文本时,我得到了预期的整个字符串(除了它已转义且未呈现为html) 我的问题是,有没有办法绕过这个问题?我真的不想在rails应用程序或客户端上进行html转换。两者似乎都太贵了。特别是当我可以

我是Rails的新手,正在尝试组装一个小应用程序,可以从mongo数据库读取Cumber结果。存储在文档中的结果被解析为html。在rails应用程序中,我获取这些结果并使用raw()方法调用显示它们。我得到的字符串相当大,结果表明,raw()方法正在截断我传递给它的文本。当我在没有raw()的情况下输出文本时,我得到了预期的整个字符串(除了它已转义且未呈现为html)

我的问题是,有没有办法绕过这个问题?我真的不想在rails应用程序或客户端上进行html转换。两者似乎都太贵了。特别是当我可以在其他地方做它,并将它作为html字符串存储在monogdb中时。有人有什么想法吗

谢谢


Jake

事实证明,字符串中有一部分导致html呈现受阻。因为cumber语法使用<>将变量传递给场景步骤,所以有一些地方编写了
。因为是有效的OpenHTML标记,html停止呈现。我通过查看页面源代码发现了这一点(之前我在开发人员工具上使用了inspect元素)。我看到我期望的整个html都在源代码中。我分析了文本,用gsub替换了
标记,现在一切都正常了。

你能显示一下你的字符串吗?它太长了,不能放在注释中,但它有很多这样的内容“使用默认配置文件…#2499:支持查找您自己的帖子
@refactor@TSP-2499
功能:帖子管理,取消帖子

作为发布帖子的用户,我想取消帖子(取消,手动过期,\“暂停”)。我的帖子
不再公开,虽然我可能想在一段时间后重新发布它。

#CSB称此取消为
@smoke“我不认为长度是一个问题。转换一个包含1M个字符的字符串很好:
(“a”*1000000).html_safe.length#=>1000000
hmm,很有趣。我一直在研究ActiveSupport::SafeBuffer的实现,我很难理解它们是如何做到这一点的。据我所知,它们覆盖了许多注入html_safe的字符串方法?检查许多函数。如果该标志不正确,他们将其发送到ERB::Utils以进行转换。是否有可能一段编写错误的html会阻止原始方法的运行?我必须继续查找。我忍不住觉得我缺少了一些简单的内容,这是一个愚蠢的问题。:-/如果没有看到字符串,很难说。