在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并且它没有更改文本。
有人可以解释一下吗?
萨姆
答案 0 :(得分:5)
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"
中找到不同实现的源代码