pak*_*eha 7 ruby string newline ruby-on-rails gsub
恼人的问题.我试图用换行符(\n)替换模型的描述字段中的所有分号字符.数据库是sqlite.该字段是文本类型.
如果我在rails控制台上手动执行此操作(使用\n为换行符键入单个记录的描述),则rails控制台会自动转义\n,并且说明字段将被填充\\n.
如果我使用gsub以编程方式执行此操作,则会出现以下情况:
>> s = Sample.find(:first)
Run Code Online (Sandbox Code Playgroud)
=> ...记录的详细信息......
>> s.description.gsub!(/;/,"\n")
Run Code Online (Sandbox Code Playgroud)
=> ...成功 - 一切看起来都不错,返回值中的新行由\n表示...
>> s.save
=> true
>> reload!
Reloading
=> true
>> s = Sample.find(:first)
Run Code Online (Sandbox Code Playgroud)
=> ...记录的详细信息......
>> s.description
Run Code Online (Sandbox Code Playgroud)
=> ...描述字段中仍然有分号而不是换行符...
AHHHHHH !!!!!!!
Vin*_*ert 28
s.description返回描述的副本,因此gsub!只会修改副本并返回修改后的副本.
试试这个:
s.description = s.description.gsub(/;/,"\n")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23304 次 |
| 最近记录: |