rails - 如何知道家属是否存在

时间:2015-08-03 09:23:46

标签: ruby-on-rails

{{1}}

我需要一个可删除字段,以便UI知道是否显示删除按钮。

有没有办法可以使用{{1}}进行的回调?或者至少获得一个与依赖性限制的关联列表?

{{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?