的ActiveRecord的validates_each
方法支持多種屬性:通屬性的ActiveRecord before_validation
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://」以開始)。
你想訪問哪個參數? 'self.name'應該返回新名稱或舊名稱; 'self.changes [:name] .try(:first)'應該返回新名稱,如果它改變了,'self.changes [:name] .try(:last)'將返回舊名稱,如果更改 – MrYoshiji