未定义的方法`[]'表示nil:创建新对象时的NilClass

时间:2012-12-31 22:01:32

标签: ruby-on-rails ruby-on-rails-3 activerecord

所以我已经搜索过,无法找到帮助我的现有问题。

我有一个模特:

class ClassComments < ActiveRecord::Base
 # attr_accessible :title, :body
 belongs_to :user
 belongs_to :class, :class_name => 'Clas'
end

当我在控制器中调用c = ClassComments.new时,我收到此错误:

undefined method `[]' for nil:NilClass

关于导致这种情况的任何想法?我很难过!

2 个答案:

答案 0 :(得分:1)

将类名更改为ClasClass以外的其他名称将解决问题,因为它是ruby / rails中的保留字。

来源: http://latheesh.com/2010/02/02/rails-reserved-words/

答案 1 :(得分:0)

我认为除this question

之外的类名外,还需要指定外键

所以在你的情况下,它可能是:

belongs_to :class, :class_name => 'Clas', :foreign_key => "clas_id"