Rails 和 Sequel 中有哪些工具可用于值规范化?

What tools are available for value normalization in Rails and Sequel?

我正在为我的 ORM 使用 Rails 4 和 Sequel。我想对传入值进行一些基本的规范化,例如使大小写一致(Malemale)并映射到规范值(USAUS)。我应该在哪里做这个? Sequel 是否提供值规范化挂钩?或者我应该在 Rails 控制器中执行此操作?

我目前正在使用 around_save Sequel::Model 挂钩,但是 Sequel 文档没有讨论值规范化,所以我不确定这是否是个好地方它。

class People < Sequel::Model
  def before_save
    normalize_gender
    super
  end

  private
  def normalize_gender
    if self.gender.nil?
      self.gender = ''
      return;
    end

    self.gender.downcase!

    self.gender = 'male'   if self.gender == 'm'
    self.gender = 'female' if self.gender == 'f'

    return
  end
end

我熟悉 MVC,但不熟悉 Rails 和 Sequel。我正在寻找这些工具中可用的现有钩子和技术,而不是关于应该在何处进行值规范化的一般性讨论。

您可能想使用 Sequel input_transformer 插件:http://sequel.jeremyevans.net/rdoc-plugins/classes/Sequel/Plugins/InputTransformer.html