0

これは、この質問のフォローアップです。オーム/Redisで動的フィールドを設定する

不明なリストにオブジェクトを動的に追加できるようにするために、send()メソッドで使用できるメソッドが見つかりません。このメソッドをOhm::Modelクラスに追加してみました。

def add_to_list(name, obj)
    send((name.to_s + '<<').to_sym, obj)
end
h.add_to_list(:player_ids, OhmSeat.create(seat_number: 5, value: 6))

しかし、私は得る

undefined method `player_ids<<'

rpushメソッドがありますが、直接呼び出すことはできないようです。これは機能しません:

h.player_ids.rpush(OhmSeat.create(seat_number: 5, value: 6)) 
4

1 に答える 1

2

@Andrew Grimmが述べたように、次のことを行う必要があります。

def add_to_list(name, obj)
  send(name) << obj
end

または単に行う:

h.player_ids << OhmSeat.create(...)
于 2011-08-02T12:23:19.060 に答える