0
나는 initialize 메소드를 오버라이드하려고하고있다.모델을 레일즈에서 모델에 오버라이드
NoMethodError: undefined method `stringify_keys' for :between:Symbol
내가 잘못 뭐하는 거지 : 내가 r = Restriction.new(:between)
를 실행하면 나는 예외가
class Restriction < ActiveRecord::Base
RESTRICTION_TYPES = {
less_than: "IND<X",
greater_than: "X<IND",
between: "X<IND<Y"
}
def initialize restriction_type_name
super
formula = RESTRICTION_TYPES[restriction_type_name]
end
private
def formula=f
self[:formula] = f
end
end
아래를 참조하십시오?
BTW 나는 formula
속성이 외부에서 액세스 할 수 없기 때문에이 작업을 수행하고 있습니다.
정말 좋은 생각이 아닙니다. ActiveRecord는 initialize 메소드 주위에서 많은 마법을 수행합니다. – sevenseacat
그것에 대해 읽었습니다. 그래서 내 문제에 대한 최선의 해결책은 무엇입니까? –