空间变成有角的

时间:2015-12-03 05:03:54

标签: ruby-on-rails angularjs

我正在使用ng_repeat显示来自对象的文本。在rails后端我调用 删除html。看输出时它看起来很好。即使在“查看源代码”中查看对象,它看起来也不错。

当您查看实际从ng_repeat呈现的文本时,看起来很奇怪 - 在某个点之后(下例中的200个单词),每个空格都被$scope.init = function(id){ $scope.episodes = gon.episodes 替换

这导致文本溢出div。有什么建议可以解决这个问题吗?

Screenshot of console

编辑:部分代码(简化)

JS:

.episode-edit{ng_repeat:"episode in episodes"}
  %p {{episode.sanitized_summary}}

Haml的:

Services

2 个答案:

答案 0 :(得分:0)

您应该尝试ng-bind-html。你的代码片段看起来像

<p ng-bind-html="YourObject"></p>

您也可以在ng-repeat中使用它。

如果您想先保护数据,请在控制器中加入$sce服务。你的代码就像

var ExampleCtrl = function($scope, $sce) {
  $scope.YourObject = $sce.trustAsHtml($scope.YourObject); // that's it
}

答案 1 :(得分:0)

很抱歉,事实证明它与角色无关,更多与Ruby有关。

Ruby的空白正则表达式并不能捕获unicode不间断空间。

而不是str.gsub(/\s/m, ' '),您必须使用str.gsub(/[[:space:]]/m, ' ')