Har*_*dhu 0 ruby activerecord overriding ruby-on-rails save
您好我想要覆盖ruby中的save方法但是这样做时我在保存带有一些更改的对象时会出现以下错误
User.name = "alex"
User.save
Run Code Online (Sandbox Code Playgroud)
ArgumentError:参数数量错误(1表示0)
我的代码如下
class ActiveRecord::Base
def save()
p "in My save\n"
Multidb.use(:default) do
p "calling super\n"
super()
end
p "saved\n"
end
end
Run Code Online (Sandbox Code Playgroud)
我认为覆盖公共ActiveRecordAPI的这种重要方法是一个可怕的想法.
但是如果你真的想要覆盖save那么你应该允许你的save方法接收与原始save方法相同的参数,并传递这些参数super.
def save(*args)
# ...
Multidb.use(:default) do
super(*args)
end
# ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |