ruby-on-rails - 未定义的方法“评论”#
问题描述
我正在关注如何为我的 rails 应用程序实施评论的教程,用户可以为帖子添加评论。但是当我点击添加新评论时,我得到“评论中的 NoMethodError#new”
评论控制器
class ReviewsController < ApplicationController
before_action :find_post
def new
@review = Review.new
end
def create
@review = Review.new(review_params)
@review.post_id = @post.id
@review.user_id = current_user.id
if @review.save
redirect_to post_path(@post)
else
render 'New'
end
end
private
def review_params
params.require(:review).permit(:rating, :comment)
end
def find_post
@post = Post.friendly.find(params[:post_id])
end
end
审查模型
class Review < ApplicationRecord
belongs_to :post
belongs_to :user
end
后模型
class Post < ApplicationRecord
extend FriendlyId
belongs_to :user
friendly_id :title, use: :slugged
validates_presence_of :title , :description
end
解决方案
看起来你忘记has_many :reviews
了你的Post
模型。
推荐阅读
- python - django/wagtail - 当管理面板另有说明时,对象属性显示无?
- javascript - 如何拆分具有多个元素的数组以获取 JavaScript 中的最后一项?
- ionic-framework - Laravel 8 sanctum - angular 10 xsrf 问题
- reactjs - 如何防止多次重新渲染反应
- excel - 根据结果比较 2 列和颜色填充
- scala - 将文件从 Spark 放到本地 FS 中的每个节点上
- next.js - 如何在 nextjs 中创建引导 5 个选项卡?
- windows - 仅在一个客户端上的 SSL 证书撤销状态
- arrays - 为什么我的代码不起作用,没有任何作业
- java - 生产者消费者使用wait/notifyAll