Итак, в соответствии с руководством по Railsspace, я предполагаю использовать консоль для понимания Active Records.Так что я делаю то, что говорят, что я должен делать, и это результат, который я получаю.
Кто-нибудь знает, где проблема?
$ 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, потому что не могу понять, как заменить SQLite3 на mysql икак заставить это работать.