Ruby on rails 如何从Rails关联中取消定义/删除方法
在Rails中定义关联时,它会为您在该关联上创建一些方法。例如,考虑以下内容:Ruby on rails 如何从Rails关联中取消定义/删除方法,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,在Rails中定义关联时,它会为您在该关联上创建一些方法。例如,考虑以下内容: class Person has_many :friends end 其中一种方法是person.friends.clear 如何删除此方法,使person.friends.clear会引发NoMethodError 注意:我尝试了一些方法,包括undef\u方法和remove\u方法,但运气不佳。请只提供已知的答案,不要猜测。虽然我自己没有尝试过,但可以检查一下以下方法是否有效 has_many :frien
class Person
has_many :friends
end
其中一种方法是person.friends.clear
如何删除此方法,使person.friends.clear
会引发NoMethodError
注意:我尝试了一些方法,包括
undef\u方法
和remove\u方法
,但运气不佳。请只提供已知的答案,不要猜测。虽然我自己没有尝试过,但可以检查一下以下方法是否有效
has_many :friends do
def clear
raise NoMethodError, "Some reason text"
end
end
是的,这确实有效。但是,我不想手动提高。像这样的东西会很酷(如果它起作用的话):。我可能不得不这样做:(嗯,那很酷。肯定有办法……我需要自己尝试一下:)