【发布时间】:2014-02-05 03:22:09
【问题描述】:
我有模型User、Photo 和Favorite,其中favorites 是从users 到photos 的连接表,即:
class User < ActiveRecord::Base
has_many :favorites
has_many :photos, through: `favorites`
end
class Photo < ActiveRecord::Base
has_many :favorites
has_many :users, through: `favorites`
end
class Favorite < ActiveRecord::Base
belongs_to :user
belongs_to :photo
end
假设@user 是User 的一个实例,photo_ids 是一组照片的主键。将所有这些照片添加到 @user.photos 的最快和/或最简洁的方法是什么?
我能做到的最好的是:
@user.favorites.create( photo_ids.map { |id| {photo_id: id } } )
但这对我来说似乎很冗长。 Rails 没有更好的方法来处理这个问题吗?
其他问题涉及通过嵌套表单创建多个 has_many: through: 关联,但我尝试在 JSON API 中执行此操作,因此不涉及任何表单。
【问题讨论】:
标签: ruby-on-rails ruby activerecord associations has-many-through