我有一个在活动记录内被继承的模块。
在该模块中 我正在调用一个函数,该函数从外部源获取ID,然后更新记录 我得到更新结果= true,但记录不会保存更新
# This is shared between multiple instances of classes
module External
def get_external_id
external_client_id = ExternalClient::get_id(self)
# it used to be
# self.update_attributes(external_client_id:external_client_id, external_id_updated_date: Time.now)
self.external_client_id = external_client_id
self.external_id_updated_date = Time.now
self.save
end
end
class InfomrationForm < ActiveRecord::Base
include External
end
当我尝试使用时
self.external_client_id
我得到空
当我应该从外部服务获得随机UUID时。
我已经检查了整个功能
该服务返回正确的ID,我可以对其进行记录
保存返回true,我可以记录该日志,但是当我尝试使用
问题是我的验证之一是无提示地失败了。
我必须评论所有验证,然后将它们逐一返回以找出哪一个失败。
答案 0 :(得分:0)
即使原本应该抛出错误,验证也会以静默方式失败。
必须注释掉所有验证并逐一返回。
在验证中
if: Proc.new {}
块
我认为问题与我在Proc.new内调用函数有关
然后该函数调用一个继承函数,该函数返回self.relation
一旦获得固定的保存效果就可以了