Datamapper:报告我无法销毁记录的原因

Ger*_*Ger 4 ruby datamapper ruby-datamapper

我正在使用datamapper和dm-contraints设置我的数据库模型.我有两个模型有很多关系,但是当我试图销毁一个时,我得到的唯一信息是false.

是否有可能获得datamapper给我更多的反馈,哪个关系正是导致问题?

Sam*_*zzo 9

使用datamapper 1.2.1:

def why_you_no_destroy? model
  preventing = []
  model.send(:relationships).each do |relationship|
    next unless relationship.respond_to?(:enforce_destroy_constraint)
    preventing << relationship.name unless relationship.enforce_destroy_constraint(model)
  end
  preventing
end
Run Code Online (Sandbox Code Playgroud)


Ale*_*eue 0

您可以从以下位置获取有关 DataMapper 错误的信息

model.destroy
if model
  model.errors.each do |error|
    p error
  end
end
Run Code Online (Sandbox Code Playgroud)

有时这并不能告诉您任何信息,在这种情况下,您可以将代码放在开始/救援块中,例如

begin
  model.destroy
rescue Exception => exc
  p exc
end
Run Code Online (Sandbox Code Playgroud)