¿Es posible actualizar los atributos del modelo usando Ohm y Redis DB es Ruby?
Pregunta
Estoy echando un primer vistazo a Monk y las API de Ohm/Redis y tengo una pregunta simple. ¿Es posible actualizar los atributos en los objetos modelo usando Ohm/Redis?
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
Usando la API de OHM, puedo hacer lo siguiente
require 'ohm'
Ohm.connect
Ohm.redis.set :foo, "bar"
Ohm.redis.set :foo, "bat"
Parece que no puedo encontrar ninguna información en los documentos sobre cómo lograr esto. ¡Gracias por adelantado!
Solución
No estoy seguro de entender completamente lo que está preguntando, pero con el siguiente código se actualiza el atributo.
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
Entonces entiendo:
#<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">
Entonces se actualiza el atributo de nombre.
Otros consejos
Deberías poder hacerlo usando un regular #save
. ¿Puedes publicar más contexto para averiguar por qué no funciona?
event = Event[25]
event.name = "Updated name"
event.save
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow