Ruby on Rails Tutorial by Hartl Chapter 8 -
i've made sort of serious error working through chapter 8 of hartl, i'm not sure how went wrong. got test before 8.2.2. running
$ bundle exec rspec spec/models/user_spec.rb test returns
sis-macbook-pro:sample_app lagaspi$ bundle exec rspec spec/models/user_spec.rb /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require': /users/lagaspi/rails_projects/sample_app/app/models/user.rb:33: syntax error, unexpected keyword_end, expecting $end (syntaxerror) /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:359:in `require_or_load' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:502:in `load_missing_constant' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:192:in `block in const_missing' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:190:in `each' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:190:in `const_missing' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:229:in `block in constantize' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:228:in `each' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:228:in `constantize' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:259:in `safe_constantize' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/core_ext/string/inflections.rb:66:in `safe_constantize' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/actionpack-3.2.3/lib/action_controller/metal/params_wrapper.rb:152:in `_default_wrap_model' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/actionpack-3.2.3/lib/action_controller/metal/params_wrapper.rb:169:in `_set_wrapper_defaults' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/actionpack-3.2.3/lib/action_controller/metal/params_wrapper.rb:133:in `inherited' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/actionpack-3.2.3/lib/abstract_controller/railties/routes_helpers.rb:7:in `block (2 levels) in with' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/actionpack-3.2.3/lib/action_controller/railties/paths.rb:7:in `block (2 levels) in with' /users/lagaspi/rails_projects/sample_app/app/controllers/users_controller.rb:1:in `<top (required)>' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:359:in `require_or_load' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:313:in `depend_on' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:225:in `require_dependency' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/engine.rb:438:in `each' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/engine.rb:438:in `block in eager_load!' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/engine.rb:436:in `each' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/engine.rb:436:in `eager_load!' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/application/finisher.rb:53:in `block in <module:finisher>' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing' /users/lagaspi/rails_projects/sample_app/config/environment.rb:5:in `<top (required)>' /users/lagaspi/rails_projects/sample_app/spec/spec_helper.rb:3:in `require' /users/lagaspi/rails_projects/sample_app/spec/spec_helper.rb:3:in `<top (required)>' /users/lagaspi/rails_projects/sample_app/spec/models/user_spec.rb:12:in `require' /users/lagaspi/rails_projects/sample_app/spec/models/user_spec.rb:12:in `<top (required)>' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `load' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `block in load_spec_files' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `map' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `load_spec_files' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:22:in `run' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:69:in `run' /users/lagaspi/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2nded/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun' when run rails server , point browser
http://localhost:3000/signup it returns:
syntaxerror in userscontroller#new /users/lagaspi/rails_projects/sample_app/app/models/user.rb:33: syntax error, unexpected keyword_end, expecting $end rails.root: /users/lagaspi/rails_projects/sample_app when browser pointed
http://localhost:3000/home it returns:
routing error no route matches [get] "/home" try running rake routes more information on available routes. so, after running rake routes returned in terminal:
sis-macbook-pro:sample_app lagaspi$ rake routes users /users(.:format) users#index post /users(.:format) users#create new_user /users/new(.:format) users#new edit_user /users/:id/edit(.:format) users#edit user /users/:id(.:format) users#show put /users/:id(.:format) users#update delete /users/:id(.:format) users#destroy sessions post /sessions(.:format) sessions#create new_session /sessions/new(.:format) sessions#new session delete /sessions/:id(.:format) sessions#destroy signup /signup(.:format) users#new signin /signin(.:format) sessions#new signout delete /signout(.:format) sessions#destroy and here's app/models/user.rb file
class user < activerecord::base attr_accessible :name, :email, :password, :password_confirmation has_secure_password before_save { |user| user.email = email.downcase } before_save :create_remember_token validates :name, presence: true, length: { maximum: 50 } valid_email_regex = /\a[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, format: { with: valid_email_regex }, uniqueness: { case_sensitive: false } validates :password, presence: true, length: { minimum: 6 } validates :password_confirmation, presence: true end private def create_remember_token self.remember_token = securerandom.urlsafe_base64 end end this 1 has got me in jam.
routes.rb
resources :sessions, only: [:new, :create, :destroy] match '/signup', to: 'users#new' match '/signin', to: 'sessions#new' match '/signout', to: 'sessions#destroy', via: :delete end users_controller.rb
class userscontroller < applicationcontroller def show @user = user.find(params[:id]) end def new @user = user.new end def create @user = user.new(params[:user]) if @user.save flash[:success] = "welcome sample app!" redirect_to @user else render 'new' end end end thanks.
your user model has 2 ends:
class user < activerecord::base attr_accessible :name, :email, :password, :password_confirmation has_secure_password before_save { |user| user.email = email.downcase } before_save :create_remember_token validates :name, presence: true, length: { maximum: 50 } valid_email_regex = /\a[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, format: { with: valid_email_regex }, uniqueness: { case_sensitive: false } validates :password, presence: true, length: { minimum: 6 } validates :password_confirmation, presence: true # end - 1 doesn't exist, remove private def create_remember_token self.remember_token = securerandom.urlsafe_base64 end end this should fix it.
Comments
Post a Comment