【问题标题】:Ruby on Rails 3 Tutorial: Entering commands in console issueRuby on Rails 3 教程:在控制台问题中输入命令
【发布时间】:2012-01-30 18:34:33
【问题描述】:

我正在阅读这本教程书,但遇到了 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 版本集,或者我还缺少什么?我无法完全弄清楚这一点。

【问题讨论】:

  • 常量必须以大写字母开头,所以class user无效。
  • 非常感谢,卡尔。这对我有用。

标签: ruby-on-rails model rails-console


【解决方案1】:

如果我没记错的话,你不能小写类名。

尝试将课程重命名为User

以下应该有效:

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

rails c

User.new

【讨论】:

  • 哇,一针见血。谢谢你,Tigraine,我会记住这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多