在 Rails 3.0 中,帮助程序方法simple_format更改参数本身。 我预计它只返回换行的文本。
2.0.0-p648 :001 > Rails.version
=> "3.0.20"
2.0.0-p648 :002 > s = "Hello"
=> "Hello"
2.0.0-p648 :003 > helper.simple_format(s)
=> "<p>Hello</p>"
2.0.0-p648 :004 > s
=> "<p>Hello</p>"
我检查了 Rails 4.2,它不会更改文本。
有人可以解释一下吗?
山 姆
此方法在Rails 4.2
和Rails 3.0
中的实现之间的区别在于,在Rails 3.0
中传递的字符串被修改(由gsub!
改变(,而在Rails 4.2
中则不是(它只是返回一个新的修改字符串(:
Rails 4.2
:
2.4.0 :006 > s = "hello"
=> "hello"
2.4.0 :007 > simple_format s
=> "<p>hello</p>"
2.4.0 :008 > s
=> "hello"
不同实现的源代码可以在文档中找到