【问题标题】:Rails undefined method 'generated_methods' for nil:NilClass用于 nil:NilClass 的 Rails 未定义方法“生成的方法”
【发布时间】:2026-01-14 03:00:01
【问题描述】:

好的,所以我刚刚启动了这个 rails 应用程序并生成了我的第一个模型

ruby 脚本/生成模型 Grid req:string class:string ctitle:string credits:float grade:string pass:boolean

创建了我的表

rake db:迁移 (在 C:/Users/Michael/InstantRails/rails_apps/studentGrid 中) == CreateGrids:迁移 ============================================== ======= -- create_table(:grids) -> 0.0150 秒 == CreateGrids:迁移(0.0150s)======================================== ==

然后去控制台添加一些数据到我的表中

网格 => Grid(id: integer, req: string, class: string, ctitle: string, credits: float, 等级:字符串,通过:布尔值,created_at:日期时间,updated_at:日期时间) Grid.create(:req=>"数学选修课", :class=>"数学 111", :ctitle=>"微积分 I", :credits=>3.0)

我认为很标准,但后来我得到了这个错误,我不明白为什么

NoMethodError: 未定义方法'generated_methods' for nil:NilClass from C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesup port-2.3.5/lib/active_support/whiny_nil.rb:52:inmethod_missing' 来自 C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/attribute_methods.rb:352:in respond_to?' from C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/base.rb:2746:inattributes=' 来自 C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/base.rb:2742:in each' from C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/base.rb:2742:inattributes=' 来自 C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/base.rb:2438:in initialize' from C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/base.rb:721:innew' 来自 C:/Users/Michael/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerec ord-2.3.5/lib/active_record/base.rb:721:在“创建”中 来自 (irb):2 来自:0

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我会尝试将 class 列重命名为其他名称。请参阅 here 了解其他要避免的术语。

    【讨论】:

      最近更新 更多