Hi,
Here Params I given for understading purpose.this is a model code I
am passing the params[:objects] from controller to model through
object @objects.But,if I give that No one understands that @objects is
getting from the veiw so I given params[:objects] in this post.(For
understanding purpose).
the controller action
def genericCURDoperation
companyid = session[:companyid]
obj = MGenericCurdOperation.new(params[:objects],companyid)
result = obj.genericAction
puts result
end
In my MGenericCurdOperation model
class MGenericCurdOperation
attr_accessor :companyid,:objects
def intialize(xml,companyid)
@objects = xml
@companyid = companyid
end
def genericAction
hash = @objects.to_hash
operation = hash['operation']
if operation == "insert" then
status = saveToDB(hash['record'],companyid)
elsif operation == "update" then
status = UpdateToDB(hash['record'],companyid)
.................
end
return status
end
def saveToDB(record,companyid)
............
end
def UpdateToDB(record,companyid)
hash = record.to_hash
key = hash['key']
if key==nil then
puts " the key not coming thourgh xml"
return nil
end
value = hash[key.to_s]
model = hash['model']
record = model.find(:all,:conditions=>["#{key}=?",value])
#retriving the record from db
updateRecord = model.new(hash['record'])
# record with updated fileds ,consits every filed in the record
except the key value,attribute
updateRecord.TimeUpdate = DateTime.now
# Here whatever the other requirements and conversions added
to the
# updateRecord and also checking the required fields to
be non empty etc;
recordHash = Hash.from_xml(updateRecord.to_xml)
root = recordHash.keys
rootElement = root(0)
if record.update_attributes(recordHash[rootElement.to_s]) then
puts record.to_xml
puts "saved successfully"
redirect_to 'index'
end
end
end
this is my code with some more operations also
On Jan 27, 4:08 pm, Frederick Cheung <[email protected]>
wrote:
> On 27 Jan 2009, at 06:43, hema gonaboina wrote:
>
> > Hi All,
>
> > I am new to ruby on rails,we are developing a integrated
> > application which can be accessed by many companies..
>
> > We developed application on development environment,recently we
> > switched to production environment as per client request.The
> > insertion operation working fine where are the updation not working...
>
> > Updation working for sometimes if it is done consecutively then
> > it is not working,If the server restart it is working again upto
> > some requests..
>
> > My Code is
>
> What is this - a controller action or something else ? It seems to be
> insanely circular - creating a record from parameters so that you can
> serialize it to xml and then deserialize it to get a hash of
> attributes - really ?! SOmne of the code doesn't even look like legal
> ruby to me
>
> Fred
>
>
>
> > def UpdateToDB
>
> > hash = params[:object].to_hash
> > key = hash['key']
>
> > if key==nil then #
> > since the operation is generic
> > puts " the key not coming thourgh xml"
> > return nil
> > end
>
> > value = hash[key.to_s]
>
> > model = hash['model']
>
> > record = model.find(:all,:conditions=>["#{key}=?",value])
> > # retriving the record from db
>
> > updateRecord = model.new(hash['record']) # record with
> > updated fileds ,consits every filed in the record except the key
> > value,attribute
>
> > updateRecord.TimeUpdate = DateTime.now
>
> > # Here whatever the other requirements and conversions added
> > to the updateRecord and also checking the required fields to be non
> > empty etc;
>
> > recordHash = Hash.from_xml(updateRecord.to_xml)
>
> > root = recordHash.keys
> > rootElement = root(0)
> > if record.update_attributes(recordHash[rootElement.to_s]) then
> > puts record.to_xml
> > puts "saved successfully"
> > redirect_to 'index'
> > end
>
> > end
>
> > The above method working fine for updation upto some
> > requests only.. like 8 updates not more than.. for the 9th update
> > the statement record.to_xml showing the updated value in the server
> > but it is not get updated in the database..
>
> > Can anyone solve my problem and save my day...
> > Thanks
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---