Ist es möglich, Modellattribute mit Ohm und Redis DB zu aktualisieren, ist Ruby?
Frage
Ich werfe einen ersten Blick auf Monk und die Ohm/Redis -APIs und ich habe eine einfache Frage. Ist es möglich, Attribute für Modellobjekte mit Ohm/Redis zu aktualisieren?
class Event < Ohm::Model
attribute :name
index :name
end
Event.create(:name => "A mistake made here...")
@event = Event.find(:id, 25)
@event.name = "I want to edit my mistake... but do not know how"
@event.save
Mit der Ohm -API kann ich Folgendes machen
require 'ohm'
Ohm.connect
Ohm.redis.set :foo, "bar"
Ohm.redis.set :foo, "bat"
Ich kann anscheinend keine Informationen in den Dokumenten darüber finden, wie dies erreicht werden kann. Danke im Voraus!
Lösung
Ich bin mir nicht sicher, ob ich vollständig verstehe, worüber Sie fragen, aber mit dem folgenden Code wird das Attribut aktualisiert.
require 'rubygems'
require 'ohm'
Ohm.connect
class Event < Ohm::Model
attribute :name
index :name
end
Event.create(:name => "A mistake made here...")
@event = Event.find(:name => "A mistake made here...").first
puts @event.inspect
@event.name = "I want to edit my mistake... but do not know how"
@event.save
puts @event.inspect
@event2 = Event.find(:name => "I want to edit my mistake... but do not know how").first
puts @event2.inspect
Ich bekomme dann:
#<Event:1 name="A mistake made here...">
#<Event:1 name="I want to edit my mistake... but do not know how">
#<Event:1 name="I want to edit my mistake... but do not know how">
Das Namensattribut wird also aktualisiert.
Andere Tipps
Sie sollten in der Lage sein, es mit einem regulären zu tun #save
. Können Sie mehr Kontext veröffentlichen, um herauszufinden, warum es nicht funktioniert?
event = Event[25]
event.name = "Updated name"
event.save
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow