首页 > 解决方案 > 未定义的方法“评论”#

问题描述

我正在关注如何为我的 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

标签: ruby-on-rails

解决方案


看起来你忘记has_many :reviews了你的Post模型。


推荐阅读