我有关联的模型User
和Channel
Rails 3 应用程序。Channel
是在创建的那一刻User
创建的
class User < ActiveRecord::Base
before_create do
self.channels.build
end
has_many :channels
end
class Channel < ActiveRecord::Base
belongs_to :user
validations block
...
end
问题是如果 Channel 的验证不通过User
,将在 DB 中创建,但Channel
不会。在哪个回调位置Channel
创建创建User
并Channel
在一个“事务”中创建?或者,也许,还有另一种正确的方法?
提前致谢。
UPD1:
Channel
在User
模型中创建时自动创建,因为在某些情况下创建的对象不调用控制器。