如何在我的应用程序ruby on rails中添加评论功能?

如何在我的应用程序ruby on rails中添加评论功能?,ruby,ruby-on-rails-5,Ruby,Ruby On Rails 5,我无法在rails应用程序中添加评论系统。我遵循rails指南,甚至开始使用一个新的rails应用程序。但我不确定我是否正确地遵循了指南。请帮我找出我做错了什么 评论控制器 schema.rb 控制台消息 注:***回滚**第28行** Started POST "/courses/4/comments" for ::1 at 2019-11-30 11:30:11 +0000 Processing by CommentsController#create as JS Parameters:

我无法在rails应用程序中添加评论系统。我遵循rails指南,甚至开始使用一个新的rails应用程序。但我不确定我是否正确地遵循了指南。请帮我找出我做错了什么

评论控制器

schema.rb

控制台消息 注:***回滚**第28行**

Started POST "/courses/4/comments" for ::1 at 2019-11-30 11:30:11 +0000
Processing by CommentsController#create as JS
  Parameters: {"utf8"=>"✓", "comment"=>{"content"=>"100 ans, c'est très long. Je vous présente un pays qui n'a mis que deux ans à devenir un pays du tiers monde issu d'un pays riche et développé. C'est toujours un pays du tiers monde. Fortement et fièrement."}, "course_id"=>"4"}
  Course Load (1.3ms)  SELECT  "courses".* FROM "courses" WHERE "courses"."id" = $1 LIMIT $2  [["id", 4], ["LIMIT", 1]]
  ↳ app/controllers/comments_controller.rb:27
   (0.8ms)  BEGIN
  ↳ app/controllers/comments_controller.rb:28
   (0.6ms)  ROLLBACK
  ↳ app/controllers/comments_controller.rb:28
Completed 500 Internal Server Error in 33ms (ActiveRecord: 3.2ms)



NoMethodError - undefined method `comment' for #<Comment:0x0000555ccc6a8528>
Did you mean?  content:
  app/controllers/comments_controller.rb:28:in `create'

source=rack-timeout id=ca133680-ce55-4b88-99ce-16fd3d1f01a0 timeout=15000ms service=130ms state=completed
但我必须在哪里定义注释

在终端上显示错误消息:

 NoMethodError - undefined method `comment' for #<Comment:0x00007f04245dc0a8>
Did you mean?  content:
  app/controllers/comments_controller.rb:33:in `block in create'
  app/controllers/comments_controller.rb:32:in `create'

在注释模型中,没有“注释”字段。您只有一个“内容”字段。 你的问题是

validates :comment ,presence:true,
                    length: { minimum: 10}
在您的评论模型中。我想你是说

validates :content, presence:true,
                    length: { minimum: 10}

在注释模型中,没有“注释”字段。您只有一个“内容”字段。 你的问题是

validates :comment ,presence:true,
                    length: { minimum: 10}
在您的评论模型中。我想你是说

validates :content, presence:true,
                    length: { minimum: 10}

CommentController中的comment_params方法看起来如何?def comment_params.require:comment.permit:content,:course_id end请在问题中发布模型定义,不需要所有内容,但需要关系。你应该属于并且有很多关系。。。。你知道吗?在模型中:属于:course to comment.rb并且在course.rb中有很多:comments。你的comment参数在你的CommentController中是什么样子的?def comment参数。require:comment。permit:content,:course\u id end请在你的问题中发布你的模型定义,不需要所有内容,但需要关系。你应该属于并且有很多关系。。。。是吗?在模型中:属于:course to comment.rb,并且在course.rb中有许多:comments。
Started POST "/courses/4/comments" for ::1 at 2019-11-30 11:30:11 +0000
Processing by CommentsController#create as JS
  Parameters: {"utf8"=>"✓", "comment"=>{"content"=>"100 ans, c'est très long. Je vous présente un pays qui n'a mis que deux ans à devenir un pays du tiers monde issu d'un pays riche et développé. C'est toujours un pays du tiers monde. Fortement et fièrement."}, "course_id"=>"4"}
  Course Load (1.3ms)  SELECT  "courses".* FROM "courses" WHERE "courses"."id" = $1 LIMIT $2  [["id", 4], ["LIMIT", 1]]
  ↳ app/controllers/comments_controller.rb:27
   (0.8ms)  BEGIN
  ↳ app/controllers/comments_controller.rb:28
   (0.6ms)  ROLLBACK
  ↳ app/controllers/comments_controller.rb:28
Completed 500 Internal Server Error in 33ms (ActiveRecord: 3.2ms)



NoMethodError - undefined method `comment' for #<Comment:0x0000555ccc6a8528>
Did you mean?  content:
  app/controllers/comments_controller.rb:28:in `create'

source=rack-timeout id=ca133680-ce55-4b88-99ce-16fd3d1f01a0 timeout=15000ms service=130ms state=completed
 NoMethodError - undefined method `comment' for #<Comment:0x00007f04245dc0a8>
Did you mean?  content:
  app/controllers/comments_controller.rb:33:in `block in create'
  app/controllers/comments_controller.rb:32:in `create'
validates :comment ,presence:true,
                    length: { minimum: 10}
validates :content, presence:true,
                    length: { minimum: 10}