如何从Rails控制台将所有
gsub到普通空格?我有一个名为“课程”的模型,并且希望将具有
的每个课程替换为使用正常空白而不是不间断空格的课程。
到目前为止,我已经在控制台中尝试了这些:
courses = Course.all
courses.each { |course| course.gsub!(/\302\240/," ")}
courses = Course.all
courses.each {|course| course.shortname.gsub!(/ /i," ")}
重新启动我的rails服务器后,似乎仍然没有发生更改。我忽略了一个简单的错误。看起来这些变化要么首先不起作用,要么就是没有保存。
答案 0 :(得分:1)
是的,您的更改不起作用,因为您使用了错误的模式,您应该在特殊字符之前添加“\”,在您的情况下是“&”。
所以试试这个:
courses = Course.all
courses.each {|course| course.shortname.gsub!(/\ /," ")}
 
与ASCII code 160
相同,所以
courses = Course.all
courses.each {|course| course.shortname.gsub!(160.chr("UTF-8")," ")}
同时尝试时我注意到& nbsp与“\ u00A0”相同,因为我收到错误,因为“\ u00A0”:字符串的未定义方法`html'。我不知道它是什么,但这可能也有效,
courses = Course.all
courses.each {|course| course.shortname.gsub!("/\u00a0/", "")}
答案 1 :(得分:0)
你没有保存课程。尝试:
Course.all.each do |course|
course.shortname.gsub!(/ /i," ")
course.save!
end