Create or update_attribute method

Dear all

Are there any method to create or update something? (if something exist,
then update, else create…where something is the primary key)

Something like…
if Klass.find_by_something( xxx )
Klass.update_attribute your_hash
else
Klass.create your_hash
end

This is similar to the AR dynamic finder
Klass.find_or_create_by_something()…, but I want a
Klass.create_or_update_by_something…Any idea??

Many thanks
Valentino

On Mon, Jun 22, 2009 at 12:06 PM, Valentino
Lun[email protected] wrote:

Klass.create your_hash
end

This is similar to the AR dynamic finder
Klass.find_or_create_by_something()…, but I want a
Klass.create_or_update_by_something…Any idea??

Many thanks
Valentino

I don’t think so, how about:
Klass.send(“find_or_create_by_#{attributes.map{|k,v|
k}.join(“and”)}”, *attributes.map{|k,v| v})
WARNING: This is a quick solution and could break because I’m relying
on the fact that the hash will return in the same order for both calls

Andrew T.
http://ramblingsonrails.com

http://MyMvelope.com - The SIMPLE way to manage your savings