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

时间:2013-07-14 01:07:09

标签: 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>

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

www.github.com/apane/leap

1 个答案:

答案 0 :(得分:5)

您正在歌曲控制器的show动作中显示此表单,它必须是这样的:

def show
  @comment = Comment.new
end

或以您的形式

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