{{1}}
我需要一个可删除字段,以便UI知道是否显示删除按钮。
有没有办法可以使用{{1}}进行的回调?或者至少获得一个与依赖性限制的关联列表?
{{1}}方法似乎是多余的,因为有关家属的信息已经在上面表达过了。此外,我正在为多个模型执行此操作,因此如果可以共享代码将会很好。
我正在想一个现在涉及破坏然后回滚的黑客攻击。
答案 0 :(得分:1)
老实说,我认为你的代码很好。
如果您仍想要更通用的方法,可以扩展ActiveRecord(来自here的修改示例):
module DestroyableRecord
def can_destroy?
self.class.reflect_on_all_associations.all? do |assoc|
assoc.options[:dependent] != :restrict ||
(assoc.macro == :has_one && self.send(assoc.name).nil?) ||
(assoc.macro == :has_many && self.send(assoc.name).empty?)
end
end
end
class Country < ActiveRecord::Base
include DestroyrableRecord
# ...
end
country = Country.firist
country.can_destroy?