Rails中创建具有多态关联的新记录可以通过以下步骤完成:
User
和Comment
,并且Comment
模型可以关联到不同类型的模型,如Post
和Photo
。我们可以使用Rails的迁移工具创建表结构:rails generate migration CreateComments commentable_type:string commentable_id:integer content:text
这将生成一个迁移文件,用于创建comments
表,其中包含commentable_type
和commentable_id
字段,用于多态关联。
rails db:migrate
Comment
模型中,我们可以使用belongs_to
和polymorphic
方法来设置多态关联:class Comment < ApplicationRecord
belongs_to :commentable, polymorphic: true
end
Post
和Photo
模型中,我们可以使用has_many
方法来设置反向关联:class Post < ApplicationRecord
has_many :comments, as: :commentable
end
class Photo < ApplicationRecord
has_many :comments, as: :commentable
end
Post
模型中创建一个新的评论记录,可以执行以下代码:post = Post.find(params[:post_id])
comment = post.comments.create(content: "This is a new comment.")
这将创建一个新的评论记录,并将其关联到Post
模型。
总结: Rails中创建具有多态关联的新记录需要进行以下步骤:
对于腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档或咨询腾讯云的客服人员获取更详细的信息。
领取专属 10元无门槛券
手把手带您无忧上云