我的form_for有问题

时间:2017-02-15 21:29:02

标签: ruby-on-rails form-for

我目前遇到了表单问题。

First argument in form cannot contain nil or be empty

在我的评论/ new中,这是_new.html.erb的部分内容。这是文件:

<% form_for @comment do |f| %>
 <%= f.label :body %>
 <%= f.text_field :body, placeholder: "Write Message here.." %>
<% end %>

我要做的是渲染为文章#显示页面添加评论。

我的代码:

评论控制器

class CommentsController < ApplicationController

 before_action :find_comment, only: [:show, :edit, :update, :destroy]

 def index
  @comments = Comment.all
 end

 def new
  @comment = Comment.new
 end

 def create
  @comment = current_user.comments.build(comment_params)
  if @comment.save
   redirect_to :back
  else
   redirect_to '/'
  end
 end

 def show
 end

 def edit
 end

 def update
  if @comment.update(comment_params)
   redirect_to '/'
  else
   redirect_to :back
  end
 end

 def destroy
  @comment.destroy
  redirect_to "/"
 end

 private

 def find_comment
  @comment = Comment.find(params[:id])
 end

 def comment_params
  params.require(:comment).permit(:body)
 end
end

文章#显示

<%= render '/comments/new' %>

如果我需要额外的代码。请询问,我将使用其他文件编辑/更新问题。

感谢所有帮助/解释。先感谢您。

1 个答案:

答案 0 :(得分:0)

第一个问题:

添加到文章#Show

 def show
  @comment = Comment.new
 end