因此,根據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