compare this sql query and corresponding ruby code

   Suppose I have a two models Ticket and Activity

Ticket has_many activities
Activity belongs_to Ticket

    Now suppose if the Activity has field name Now for a Ticket with
id=1 say there are 10 activities So to update name of all activities I
can directly wite the sql statement

update activities set name='somename' where ticket_id=1

    So I am writing this like

ticket = Ticket.find(1)
ticket.activities.each do |a|
  a.update_attribute(:name => 'somename')
     But what about the performance Is both the above query and the ruby
code has same performance What is actually the generated sql for the
ruby code
    Or Am I wrong? Is there any other way of doing this same like sql

Thanks in advance

Here's the correct sintax:

Activity.update_all( [ 'name = ?', 'hi' ] , ["ticket_id =?",1])


try to look to your development log, u'll see sql queries there.

and you might try this:

ticket = Ticket.find(1, :include => [:activity])

and see your query again


Sijo Kg wrote: