1

说我有一个 mongoid 类

Class User
    include Mongoid::Document
    field :username, type: String
    field :age, type: Integer

    before_save :remove_whitespace

    def remove_whitespace
        self.username.strip!
        self.age.strip!
    end
end

在方法中remove_whitespace;有没有更好的方法来迭代所有字段以使用块和迭代器将它们剥离,而不是单独键入每个字段(self.username.strip!)?我班上有大约 15 个字段,正在寻找一个优雅的解决方案。

4

1 回答 1

8

没有attributes方法吗?

attributes.each {|attr| attr.strip!}

或者

attributes.each do |attr_name, value|
  write_attribute(attr_name, value.strip)
end
于 2012-10-06T00:04:19.597 回答