我的名为SubSituationType的表有一个名称字段。它的名字末尾有空格。使用Active Record删除我的表字段中的空格
对于如:
SubSituationType.all.collect(&:name) gives
["Pos/Neg Space - Design ", "Pantone Match ", .....]
我需要删除的空间,所有这些值。怎么做?
我的名为SubSituationType的表有一个名称字段。它的名字末尾有空格。使用Active Record删除我的表字段中的空格
对于如:
SubSituationType.all.collect(&:name) gives
["Pos/Neg Space - Design ", "Pantone Match ", .....]
我需要删除的空间,所有这些值。怎么做?
SubSituationType.all.map { |type| type.name.strip }
而且它的更好地使用.pluck
而不是.all
:
SubSituationType.pluck(:name).map(&:strip)
您可以使用String#strip
SubSituationType.all.map(&:name).map(&:strip)
在Rails> = 3.0.0利用现有String#squish
SubSituationType.pluck(:name).map(&:squish)
ActiveRecord::Calculations#pluck方法on Rails的> = 3.2.1
如果你正在使用MySQL,
你可以用下面的查询实现这一点,但是这将在name列更新值: -
UPDATE `sub_situation_types` SET `name` = TRIM(`name`);
或者使用Rails可以按照xdazz的建议使用'pluck',但这不会更新名称列中的值。 ,如: -
SubSituationType.all.map { |type| type.name.strip }
或
SubSituationType.pluck(:name).map(&:strip)
我使用Ruby 1.9.2和2.3.14轨道 – Venkat