表单中的第一个参数不能包含nil或为空[注释]

Apa*_*101 3 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

简而言之,我刚刚将评论支架迁移到了应用程序.目标是在歌曲的节目动作中显示评论.这很简单,我有歌曲模型,评论模型和用户模型.用户可以上传歌曲 - 我希望用户能够为歌曲添加评论.不幸的是,我遇到了以下错误.我已经研究过各种解决方案但无济于事.

错误消息:

ArgumentError in Songs#show

Showing /Users/apane/Downloads/leap/app/views/comments/_form.html.erb where line #1 raised:

First argument in form cannot contain nil or be empty

<%= form_for @comment do |f| %>
<% if @comment.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@comment.errors.count, "error") %> prohibited this comment from being saved:</h2>
Run Code Online (Sandbox Code Playgroud)

请参阅下面的github - 我觉得这是最有效的故障排除方式,因为很容易快速浏览到相应的目录.

www.github.com/apane/leap

rma*_*002 5

你在歌曲控制器的show动作中显示这个表格,它必须是这样的:

def show
  @comment = Comment.new
end
Run Code Online (Sandbox Code Playgroud)

或者以你的形式

<%= form_for Comment.new do |f| %>

  • 顺便说一句,你的应用程序使用rails 4,所以你应该用rails 4标记你的问题.这样就可以更容易地调试问题了. (2认同)