Как вы динамически помещаете элемент в список в Redis / Ohm? - PullRequest
0 голосов
/ 10 июля 2011

Это продолжение этого вопроса: Установка динамического поля в Омах / 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)) 

1 Ответ

2 голосов
/ 02 августа 2011

Как упоминал @ Эндрю Гримм, вы должны сделать:

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

или просто сделать:

h.player_ids << OhmSeat.create(...)
...