【发布时间】:2023-03-22 10:41:02
【问题描述】:
为 Rails 中的特定模型从 has_many 关系中选择特定记录的首选方法是什么? (我使用的是 Rails 5。)
我有一个模型User 和一个模型Picture,它们通过以下代码关联:
class User < ApplicationRecord
has_many :pictures, as: :imageable
# ...
end
class Picture < ApplicationRecord
belongs_to :imageable, polymorphic: true
# ...
end
我想做的是允许User 从与其关联的图像中设置个人资料图片,这样我就可以在User 对象上调用@user.profile_picture 并检索个人资料图片。
【问题讨论】:
-
您需要将其存储在
User中,可能是has_one关系。您可以将此关系称为profile_picture:) -
所以
has_one :profile_picture, as: :imageable?这如何在数据库中持续存在?我需要创建ProfilePicture模型吗? -
是的,不要忘记这个关系的迁移。
-
所以总结一下:
has_one :profile_picture在User模型中。has_one :picture, as: :imageable和belongs_to :user的新ProfilePicture模型。就这些吗? -
是的!总结一下。
标签: ruby-on-rails associations ruby-on-rails-5 activemodel