Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 on rails 截断&;RubyonRails中的简单格式字符串_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 截断&;RubyonRails中的简单格式字符串

Ruby on rails 截断&;RubyonRails中的简单格式字符串,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我试图获取一个字符串,并以简单的_格式呈现它,同时截断它。当我只使用一个或另一个时,它就起作用了,但当我同时使用两个时,它就不起作用了。为什么不同时执行简单的_格式和截断呢 控制器 myString = "Apple&#8217;s New Laptop" 查看 <%= simple_format truncate( myString, :length => 20 ) %> 20)%> Rails 4中的truncate辅助程序发生了一些更改。 文件确实告诉我们:

我试图获取一个字符串,并以简单的_格式呈现它,同时截断它。当我只使用一个或另一个时,它就起作用了,但当我同时使用两个时,它就不起作用了。为什么不同时执行简单的_格式和截断呢

控制器

myString = "Apple&#8217;s New Laptop"
查看

<%= simple_format truncate( myString, :length => 20 ) %>
20)%>

Rails 4中的truncate辅助程序发生了一些更改。 文件确实告诉我们:

结果标记为HTML安全,但默认情况下会转义,除非:escape为false

Rails通常会转义所有字符串。如果您只想在代码中的字符串中放入一些unicode字符,可以使用十六进制代码的\u表示法。然后truncate也会将该字符计算为一个字符

myString = "Apple\u2019s New Laptop"

方法是在字符串上使用了
simple\u格式之后
截断
。由于truncate默认情况下会转义字符串,因此必须使用
escape:false
选项

> myString = "Apple&#8217;s New Laptop"

> truncate(simple_format(myString), escape: false) 
> => "<p>Apple&#8217;s New Laptop..."

> truncate(simple_format(myString), escape: false, length: 19)
> => "<p>Apple&#8217;s..."
myString=“苹果的新笔记本电脑” >截断(简单_格式(myString),转义:false) >=>“苹果公司的新笔记本电脑…” >截断(简单_格式(myString),转义:false,长度:19) >=>“Apple’;s…”

例如,这可能会通过剪切

来创建不平衡的HTML标记,因此请小心使用。

这可能很晚,但对其他人有用。这对我有用

 <%= truncate(myString, escape: false, length: 20 ) %>


对我来说很好。在你看来,输出是什么?我仍然得到“苹果&8217;的新笔记本电脑”它是否真的以
苹果&#8217;s的新笔记本电脑
在页面上?是的。除了截断正在工作外,完全没有更改。您希望为示例设置什么?警告:此解决方案可以通过截断尾部的
来创建不平衡的
标记