所以我有这个配置的Rails:回滚所有交易如果失败
class Post < ActiveRecord::Base
has_many :photo_albums
class PhotoAlbum < ActiveRecord::Base
has_many :photos
,我想做到以下几点
@post = Post.new(post_params)
@photo_album = @post.photo_albums.create(name: 'album name')
@photo_urls = params[:photo_urls]
@photo_urls.each do |pu|
@photo_album.photos.create(url: pu)
end
@post.save
现在我想的是,如果@ post.save失败那么photo_albums的所有交易,照片都应该回滚。
使用'@'的post.photo_albums.new(...),而不是因为父母必须首先坚持创建。然后,只需在父文件('@ post')上调用'save',它就会触发'photo_album'的保存。 – MrYoshiji