2009-08-17 10 views
1

私はMonkとOhm/Redis APIを最初に見ていますが、私は簡単な質問があります。 Ohm/Redisを使用してモデルオブジェクトの属性を更新することは可能ですか?オームのAPIを使用してオームとレディスDBを使ってモデル属性を更新することは可能ですか?ルビーですか?

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 

私が行うことができ、次の

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

は、これを実現する方法についてのドキュメント内の任意の情報を見つけるように見えることはできません。前もって感謝します!

答えて

1

私は、私は完全にあなたがについて尋ねているか理解してないんだけど、次のコードで属性が更新されます。

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

だからname属性が更新されます。

1

通常の#saveを使用して行うことができます。なぜそれが動作していないのかを知るために、より多くのコンテキストを投稿できますか?

 

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