0

我有一个模型“位置”,其中有很多“课程”Rails 3:Dependent =>:否定或类似?

如果我销毁一个位置,我希望销毁请求被拒绝,除非位置和任何课程之间没有关系。我认为这样做有一些非常简洁的方法,但我找不到任何东西。

Soo ...启用这种功能的最优雅/简单/简洁的方式是什么?

回答

3

的位置...

before_destroy do |l| 
    return false unless l.courses.nil? 
end 
+0

很简单,有点似乎是一个黑客攻击,但这应该很好地工作。只要确保你只在你的位置打电话“销毁”,而不是删除(它会跳过回调)。 – Andrew 2011-05-13 01:50:27

+1

我认为课程将是一个空阵列而不是零。 'l.courses.empty?'会更好。 – Mischa 2011-05-13 02:58:38

相关问题