2012-09-01 8 views
1

레일스에서 ​​연결을 정의하면 해당 연결에 대한 몇 가지 메소드가 자동으로 작성됩니다. 어떻게 person.friends.clearNoMethodError를 올릴 것 같은이 방법을 제거 할 수 있습니다 당신이 person.friends.clear레일즈 연결에서 메소드를 정의 해제/제거하는 방법

입니다 얻는 방법

class Person 
    has_many :friends 
end 

한 예를 들어, 다음 사항을 고려?

참고 : 나는 undef_methodremove_method을 포함하여 몇 가지 시도해 보았습니다. 으로 알려져 있고 추측은 아닙니다.

답변

2

나는 그것을 자신을 시도 didnt가 있지만 다음은

has_many :friends do 
    def clear 
     raise NoMethodError, "Some reason text" 
    end  
end 
+0

예,이가하는 일을 작동하는 경우 pls는 확인 할 수 있지만. 그러나 수동으로 키우기를 원하지 않았습니다. 이런 식으로 멋지다 (작동한다면) : https://gist.github.com/3579574. 나는 그래도해야 할 수도 있습니다 : ( – Austin

+0

흠, 그게 멋지다. 분명히 방법이있다 ... 스스로 그것을 시도해야합니다 :) – Samiron