Cyb*_*Mew 0 ruby ruby-on-rails mongoid
我是 Ruby/Rails 的新手,我想覆盖该save方法,这样我就可以在调用实际save方法之前对自己进行一些检查,但是,由于某种原因,我收到了此异常:
#<NoMethodError: undefined method `save' for true:TrueClass>
Run Code Online (Sandbox Code Playgroud)
这是我的模块和类的代码。
模块:
module OverrideSave
def save
super.save if some_condition_true
end
end
Run Code Online (Sandbox Code Playgroud)
班级:
class CardTransaction
include Mongoid::Document
include Mongoid::Timestamps::Created
prepend OverrideSave
field :type, type: String
field :transaction_value, type: BigDecimal
field :receipt_value, type: BigDecimal
field :store_id, type: String
belongs_to :card
end
Run Code Online (Sandbox Code Playgroud)
我不确定出了什么问题,有什么想法吗?
为什么你试图调用save任何super(即save)返回?根据你的描述,你想要这样的东西:
def save
# some additional work
super
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1233 次 |
| 最近记录: |