我正在尝试为模型创建自定义方法,以评估某些变量是否已更改。如何从庞大的其他常规方法列表中获取这些方法的列表?
答案 0 :(得分:0)
我发现如果我事先已经查询过模型表,我可以在Rails控制台中运行以下方法。如果您还没有这样做,这只会返回:attribute_changed?
。在运行此方法之前尝试运行Model.first
。
Model.instance_methods.select { |method| method.to_s.include?("_changed?") }
或者对它们进行排序,只需添加sort:
Model.instance_methods.sort!.select { |method| method.to_s.include?("_changed?") }
这设法将我的一个模型从1000多种方法减少到不到50种。更容易阅读。