Annoying problem. I am trying to replace all semicolon characters in my Model's description field with newline characters (\\n). The database is sqlite. The field is of type text.
If I do it manually at the rails console (manually typing the description for a single record using \\n for line breaks), the rails console automatically escapes the \\n, and the description field becomes filled with \\\\n
.
If I do it programmatically using gsub, I get the following situation:
>> s = Sample.find(:first)
=> ...details of record ...
>> s.description.gsub!(/;/,"\n")
=> ...success - it all looks good, new lines in the returned value are represented by \\n...
>> s.save
=> true
>> reload!
Reloading
=> true
>> s = Sample.find(:first)
=> ...details of record ...
>> s.description
=> ... the description field still has semicolons in it rather than newline characters ...
AHHHHHH!!!!!!!
s.description
returns a copy of the description so gsub!
will only modify the copy and return the modified copy.
Try this:
s.description = s.description.gsub(/;/,"\n")
如果您要大量编辑ActiveRecord字段,则可以使用rails插件console_update在编辑器中对其进行编辑
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.