我有一个rails 5应用程序,我有一个名称字段(字符串)和一个压缩名称(字符串)
当用户注册时,他们输入他们的公司名称,我试图像这样压缩名称:
"我的公司名称在这里" - 姓名
进入
" mycompanynamehere" - 压缩名称
我在帐户模型上使用此作为after_initialize调用
def compress_name
self.compressed_name = name.downcase.split.join
end
如果名称字段中没有空格,则问题就是将compressed_name
保留为nil
。
有没有更好的方法来解决这个问题?
提前致谢
答案 0 :(得分:2)
尝试下面的一个,测试
2.4.2 :013 > "My Company Name Here".gsub(/\s+/, "").downcase
=> "mycompanynamehere"
2.4.2 :014 > "My CompanyNameHere".gsub(/\s+/, "").downcase
=> "mycompanynamehere"
2.4.2 :015 > "MyCompanyNameHere".gsub(/\s+/, "").downcase
=> "mycompanynamehere"
2.4.2 :016 > "mycompanynamehere".gsub(/\s+/, "").downcase
=> "mycompanynamehere"