使用Active Record删除表字段中的空格

时间:2014-04-02 12:57:22

标签: ruby-on-rails ruby

名为SubSituationType的My Table有一个名称字段。它的名称末尾有空格。

例如:

SubSituationType.all.collect(&:name) gives 

["Pos/Neg Space - Design ", "Pantone Match ", .....]

我需要删除所有这些值的空间。怎么做?

3 个答案:

答案 0 :(得分:2)

SubSituationType.all.map { |type| type.name.strip } 

最好使用.pluck而不是.all

SubSituationType.pluck(:name).map(&:strip)

答案 1 :(得分:1)

您可以使用String#strip

SubSituationType.all.map(&:name).map(&:strip)

在Rails> = 3.0.0中使用String#squish

SubSituationType.pluck(:name).map(&:squish)
Rails上提供的

ActiveRecord::Calculations#pluck方法> = 3.2.1

答案 2 :(得分:0)

如果您使用的是MySql,

您可以使用以下查询来实现此目的,但这会更新名称列中的值: -

UPDATE `sub_situation_types` SET `name` = TRIM( `name` );

或者使用Rails,您可以按照xdazz的建议使用“pluck”,但这不会更新name列中的值。 如: -

SubSituationType.all.map { |type| type.name.strip }

SubSituationType.pluck(:name).map(&:strip)