هل من الممكن تحديث سمات النموذج باستخدام أوم و Redis DB هو روبي؟

StackOverflow https://stackoverflow.com/questions/1286293

  •  18-09-2019
  •  | 
  •  

سؤال

أنا آخذ نظرة أولى على الراهب و APIs أوم / Redis ولدي سؤال بسيط. هل من الممكن تحديث السمات على كائنات نموذجية باستخدام 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

باستخدام API أوم يمكنني القيام بما يلي

require 'ohm'
Ohm.connect
Ohm.redis.set :foo, "bar"
Ohm.redis.set :foo, "bat"

لا يبدو أن تجد أي معلومات في مستندات حول كيفية إنجاز هذا. شكرا مقدما!

هل كانت مفيدة؟

المحلول

لست متأكدا من أنني أفهم تماما ما تسأل عنه، ولكن مع التعليمات البرمجية التالية يتم تحديث السمة.

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

ثم احصل على:

#<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">

لذلك يتم تحديث سمة الاسم.

نصائح أخرى

يجب أن تكون قادرا على القيام بذلك باستخدام منتظم #save. وبعد يمكنك نشر المزيد من السياق لمعرفة سبب عدم العمل؟


event = Event[25]
event.name = "Updated name"
event.save

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top