我使用Rails 4和Sequel为我的ORM。我想对传入值进行一些基本规范化,例如使套管保持一致(Male
到male
)并映射到规范值(USA
到US
)。我应该在哪里这样做? Sequel是否提供值规范化挂钩?或者我应该在Rails控制器中执行此操作吗?
我目前正在使用around_save
续集::模型钩子,但续集文档并没有讨论价值规范化,因此我不确定这是否是一个好地方。< / p>
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。我正在寻找这些工具中现有的钩子和技术,而不是关于应该在哪里进行值规范化的一般性讨论。
答案 0 :(得分:1)
您可能想要使用Sequel input_transformer插件:http://sequel.jeremyevans.net/rdoc-plugins/classes/Sequel/Plugins/InputTransformer.html