将数组中的对象添加到活动记录时发生数据库事务

时间:2011-09-01 17:20:39

标签: ruby-on-rails ruby activerecord

我是大家!

我有一点问题:

让我们定义对象

class A < ActiveRecord::Base
  has_many :bs

  def add_some_b(b)
     do_some_stuff_with_b(b)
     bs << b
  end
end
class B < AR
   def some_stuff
   end
end

当我这样称呼时:

some_a_variable.new
some_a_variable.add_some_b(some_b)

我打开了一个交易并立即关闭,里面什么也没发生:

[2011-09-01 18:58:49] [DEBUG] SQL(0.1ms)BEGIN [2011-09-01 18:58:49] [DEBUG] SQL(0.1ms)COMMIT

为什么呢?我怎么能避免这个?

1 个答案:

答案 0 :(得分:0)

你错过了has_many关系的另一面:

class B < AR
  belongs_to :a

   def some_stuff
   end
end