Ruby on rails rails 5仅在字符串存在时才从字符串中删除空白
我有一个rails 5应用程序,我有一个名称字段(字符串)和一个压缩名称(字符串) 当用户注册时,他们输入他们的公司名称,我试图压缩名称,如下所示: “我的公司名称在此”-名称 进入 “mycompanynamehere”-压缩名称 我在帐户模型上使用它作为一个事后初始化调用Ruby on rails rails 5仅在字符串存在时才从字符串中删除空白,ruby-on-rails,Ruby On Rails,我有一个rails 5应用程序,我有一个名称字段(字符串)和一个压缩名称(字符串) 当用户注册时,他们输入他们的公司名称,我试图压缩名称,如下所示: “我的公司名称在此”-名称 进入 “mycompanynamehere”-压缩名称 我在帐户模型上使用它作为一个事后初始化调用 def compress_name self.compressed_name = name.downcase.split.join end 问题是,如果名称字段中没有空格,它只会将压缩的\u name保留
def compress_name
self.compressed_name = name.downcase.split.join
end
问题是,如果名称字段中没有空格,它只会将压缩的\u name
保留为nil
有没有更好的方法来处理这个问题
提前感谢尝试下面的一个,测试
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"
试试下面一个,测试一下
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"
拆下砰的一声
代码>打开。关机代码>。“它在帐户上回滚”是什么意思?它会阻止验证并导致异常?是的,如果名称字段中没有空格,它就不会转换名称,并在数据库中将其设置为nil。。我会在整理回滚问题时更新问题。删除bang代码>打开。关机代码>。“它在帐户上回滚”是什么意思?它会阻止验证并导致异常?是的,如果名称字段中没有空格,它就不会转换名称,并在数据库中将其设置为nil。。我会在整理回滚问题时更新问题