2012-12-31 36 views
0

因此,我查找並找不到幫助我的現有問題。未定義的方法`[]'nil:NilClass創建新對象時

我有一個模型:

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

你可能要考慮比「類」不同的名稱,因爲它是用Ruby/Rails中保留字。我想這就是爲什麼你有':class_name =>'Clas''但是這會變得非常混亂。 http://latheesh.com/2010/02/02/rails-reserved-words/ –

+0

@JasonTruluck是這就是爲什麼我最終命名類「clas」。你是說這可能導致這個問題?或者只是一個有用的建議? – Deekor

+0

實際上,你能否包含你的'Clas'模型和模式?這可能有助於解讀這一點。控制器只是普通的腳手架? –

回答

1

更改類名以外的東西比ClasClass將解決此問題,因爲它是ruby/rails中的保留字。

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

+0

將'belongs_to:class,:class_name =>'Clas''更改爲'belongs_to:clas' 並且它現在可以很好地工作。謝謝! – Deekor

0

我認爲你需要指定除了類名外鍵在this question

所以你的情況,它很可能是:

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

定義類名應該已經考慮到了 - 無論如何嘗試了它,並沒有解決問題。 – Deekor

相關問題