我使用文章和评论测试多态关系
class Article < ApplicationRecord
has_many :comments, as: :commentable
end
class Comment < ApplicationRecord
belongs_to :commentable, polymorphic: true
end
我创建了一篇使用foo = Article.create(title: "foo")
问题在这里
我使用终端foo.comments.size
显示0
但是在浏览器中渲染自动创建的注释吗?
控制器:
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def show
@article = Article.find(params[:id])
end
end
答案 0 :(得分:1)
您正在视图中创建实例,因为for (int i = 0; i < (2500-1); i++)
表示注释未持久保存到数据库。
也许您正在查看类似Comment id: nil
答案 1 :(得分:0)
好的,发现错误是:-p
应为@article.comments.build
form_for [@article, @article.comments.build]