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!

War es hilfreich?

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
scroll top