1

初期化メソッドをオーバーライドしようとしています。下記参照

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

実行するr = Restriction.new(:between)と、例外が発生します。

NoMethodError: undefined method `stringify_keys' for :between:Symbol

私は何を間違っていますか?

ところで、formula属性が外部からアクセスできないため、これを行っています。

4

1 に答える 1