Rails 和 Sequel 中有哪些工具可用于值规范化?
What tools are available for value normalization in Rails and Sequel?
我正在为我的 ORM 使用 Rails 4 和 Sequel。我想对传入值进行一些基本的规范化,例如使大小写一致(Male
到 male
)并映射到规范值(USA
到 US
)。我应该在哪里做这个? 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
我正在为我的 ORM 使用 Rails 4 和 Sequel。我想对传入值进行一些基本的规范化,例如使大小写一致(Male
到 male
)并映射到规范值(USA
到 US
)。我应该在哪里做这个? 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