因此,根据Railsspace上的教程,我想使用控制台了解活动记录。所以我做了那些事情说我应该做的事,这是我得到的结果。NameError:未初始化的常量User :: SCREEN_NAME_RANGE
有谁知道问题出在哪里?
$ rails console
输出
Loading development environment (Rails 3.0.10)
ruby-1.9.2-p290 :001 > user = User.new(:screen_name => "me",
ruby-1.9.2-p290 :002 > :email => "",
ruby-1.9.2-p290 :003 > :password => "a",)
NameError: uninitialized constant User::SCREEN_NAME_RANGE
from /Users/dennisbuizert/Sites/gpoff/app/models/user.rb:3:in `<class:User>'
from /Users/dennisbuizert/Sites/gpoff/app/models/user.rb:1:in `<top (required)>'
from (irb):1
from /Users/dennisbuizert/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:44:in `start'
from /Users/dennisbuizert/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:8:in `start'
from /Users/dennisbuizert/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
用户模型
class User < ActiveRecord::Base
validates_uniqueness_of :screen_name, :email
validates_length_of :screen_name, :within => SCREEN_NAME_RANGE
validates_length_of :password, :within => PASSWORD_RANGE
validates_length_of :email, :maximum => EMAIL_MAX_LENGTH
validates_presence_of :email
# Max & Min length for all fields
SCREEN_NAME_MIN_LENGTH = 3
SCREEN_NAME_MAX_LENGTH = 20
PASSWORD_MIN_LENGTH = 8
PASSWORD_MAX_LENGTH = 26
EMAIL_MAX_LENGTH = 50
SCREEN_NAME_RANGE = SCREEN_NAME_MIN_LENGHT..SCREEN_NAME_MAX_LENGTH
PASSWORD_RANGE = PASSWORD_MIN_LENGHT..PASSWORD_MAX_LENGTH
end
我使用SQLite3的,而不是MySQL的,因为我无法弄清楚如何使用MySQL,以及如何让该工作更换sqlite3的。
唐发生此问题当用户想要使用MySQL时,不要使用SQLite3,因为你无法弄清楚如何使用它。有些人(包括我自己)会很乐意帮助你。至于你的问题,你可以发布一下你的用户模型代码吗? – Max
我更新了它,最大。 – dbuizert