ActiveRecord的validates_each
方法支持多个属性:
validates_each :foo, :bar, :baz do |record, attr, value|
# logic here
end
有没有办法用ActiveRecord回调来做到这一点?
before_validation [:foo, :bar, :baz] :do_something
...
protected
def do_something(*args)
args.each do |a|
# logic here
end
end
...
**编辑**
:foo
,:bar
,:baz
是网址。我希望“规范化”它们(如果缺少,则将“http://”添加到开头),然后再应用验证。
答案 0 :(得分:0)
我不相信它接受多个参数,但你可以有多个验证调用相同的方法。
before_validation :foo, :do_something
before_validation :bar, :do_something
before_validation :baz, :do_something
答案 1 :(得分:0)
before_validation :do_something
protected
def do_something
#do something here
end
end
This documentation非常清楚地说明了这一点。