我为我的ORM使用Rails 4和Sequel。我希望对传入值进行一些基本的规范化处理,例如使套管一致(Male
到male
)并映射到规范值(USA
到US
)。我应该在哪里做这件事? Sequel是否提供了价值规范化挂钩?或者我应该在Rails控制器中完成它?Rails和Sequel中的值规范化有哪些工具可用?
我目前使用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。我正在寻找这些工具中现有的钩子和技术,而不是关于值归一化应该在哪里进行的一般性讨论。
有很多答案,这样使你会产生意见或广泛的答案。我建议阅读更多关于MVC,看看它是否变得更清晰。 – 2015-03-30 20:12:42
@theTinMan我熟悉MVC模型,但我不熟悉Rails和Sequel的细节。我正在寻找首选的方法和现有的钩子和技术。续集文档不讨论价值标准化。我已经编辑了这个问题来说明问题,我不是在寻找一个广泛的讨论,只是在这些工具中有什么。 – Schwern 2015-03-30 20:33:05
对于续集中的内容,我建议在Sequel IRC或邮件列表上提问。作者挂在那里,可以在短时间内回复所有内容。他非常敏感。他偶尔会在这里回答,但如果你很快需要信息,你最好去哪里。而且,在这一点上,一件好事将是为你的问题创建一个答案,总结你发现的内容。 – 2015-03-31 17:21:51