2

このチュートリアル ブックを読んでいるときに、作成したユーザー モデルを Rails コンソールが認識しないという問題が発生しました。これが私が取り組んでいるものです

これは、次user.rbの場所にあるユーザー モデル で定義したものsample_app/app/models/user.rbです。

class user < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end

これは、参照しようとするとコンソールに表示されるものです。

Nicholass-MacBook-Pro:sample_app nbkincaid$ rails console
Loading development environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > user.new
NameError: undefined local variable or method `user' for main:Object from (irb):1
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:45:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:8:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:40:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

遵守する必要がある特定の gem バージョン セットはありますか、それとも他に欠けているものがありますか? 私はこれを完全に理解することはできません。

4

1 に答える 1

5

私の記憶が正しければ、クラス名を小文字にすることはできません。

クラスの名前を変更してみてくださいUser

以下が機能するはずです。

class User < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end

rails c

User.new

于 2011-12-30T19:24:27.067 に答える